1. tar
tar [-cxtzjvfpPN] 文件与目录 ….
参数: -c:创建一个压缩文件的参数指令(create file) -f:指定文件名(specify filename),-f之后要立即接压缩后文件名,不要再加参数。例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成『 tar -zcvPf tfile sfile』才对 -x:解开一个压缩文件的参数指令 -t:查看 tarfile 里面的文件 -v:压缩的过程中显示文件,这个常用,但不建议用在后台执行过程 -u:只有比归档文件中的同名文件更新的时候才进行添加 -d:比较归档文件与文件系统中的内容 -A:合并多个tar文件,如将file2.tar内容合并到file1.tar中:tar -Af file1.tar file2.tar –delete:从归档文件中删除文件 -z:指定gzip格式 -j:指定zip2格式 –lzma:指定lzma格式 –exclude FILE:在压缩的过程中,不要将 FILE 打包 -X:排除文件列表中的文件(–exclude-from) –totals:打印总字节数 -p:使用原文件的原来属性(属性不会依据使用者而变) -P:可以使用绝对路径来压缩 -N:比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中
2. squashfs
SquashFS是一种基于Linux内核只读型的超高压缩率文件系统,这种文件系统能够将2G~3G的数据压缩成一个700MB的文件,如Live CD
3. 加密工具与散列
crypt、gpg、Base64、md5sum、sha1sum、shadowlike
4. rsync
rsync参数 -a –archive归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD -r –recursive 对子目录以递归模式处理 -l –links 保留软链 -p –perms 保持文件权限 -t –times 保持文件时间信息 -g –group 保持文件属组信息 -o –owner 保持文件属主信息 -D –devices 保持设备文件信息 -z –compress 对备份的文件在传输时进行压缩处理 -P –partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输 -v –verbose 详细模式输出 -e –rsh=COMMAND 指定替代rsh的shell程序 -u –update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件) –progress 显示备份过程 –delete 是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。
5. 用git备份版本控制