Linux中使用rsync数据备份工具和实例( 二 )


-e, ––rsh=COMMAND
指定替代 rsh 的 shell 程序
––ignore-errors
即使出现 I/O 错误也进行删除
––partial
保留那些因故没有完全传输的文件,以是加快随后地再次传输
––progress
在传输时显示传输过程
-P
等价于 ––partial ––progress
––delay-updates
将正在更新的文件先保存到一个临时目录(默认为 “.~tmp~”),待传输完毕再更新目标文件
-v, ––verbose
详细输出模式
-q, ––quiet
精简输出模式
-h, ––human-readable
输出文件大小使用易读的单位(如,K,M等)
-n, ––dry-run
显示哪些文件将被传输
––list-only
仅仅列出文件而不进行复制
––rsyncpath=PROGRAM
指定远程服务器上的 rsync 命令所在路径
––password-file=FILE
从 FILE 中读取口令,以避免在终端上输入口令,通常在 cron 中连接 rsync 服务器时使用
-4, ––ipv4
使用 IPv4
-6, ––ipv6
使用 IPv6
––version
打印版本信息
––help
显示帮助信息
在指定复制源时,路径是否有最后的 “/” 有不同的含义,例如:
/home : 表示将整个 /home 目录复制到目标目录/home/ : 表示将 /home 目录中的所有内容复制到目标目录四、rsync使用实例本地复制# rsync /etc/passwd 123.txt//类似于cp命令远程同步可以配合ssh免密码登录,则不需要输入密码 。
或者使用 --password-file=/etc/pass.txt 指定接收端的密码,明文可能不安全 。
# rsync -av root@192.168.1.2:/root/123.txt .root@192.168.1.2's password:rsync指定端口号( -e )/usr/bin/rsync -e 'ssh -p 60920' -ahqzt/root/master3.sql root@192.168.1.2:/root/ 在传输过程中查看rsync进度(--progress)使用--progress选项显示rsync执行的详细进度,如下所示:
# rsync -avz --progress /root/temp/ root@192.168.1.2:/root/temp单向备份(--delete)如果文件不在源中而是在目标中存在,则可能希望在rsync同步期间删除目标上的文件 。在这种情况下,请使用--delete选项:
rsync -avz --delete /root/temp root@192.168.1.2:/root/temp文件传输过程中的include和exclude模式rsync允许在进行同步时提供要包括和排除文件或目录的模式 。
[root@localhost ~]# rsync -avz --include 'P*' --exclude '*' root@192.168.1.2:/var/lib/rpm/ /root/temp/排除的文件和目录(--exclude-from)使用--exclude-from参数,并指定要在文件中排除的文件和目录 。
rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/加入需要排除的文件,比如文件file1.c,目录zcwyou:cat /exclude-file.txtfile1.czcwyou不传输大文件(--max-size)可以使用rsync --max-size选项告诉rsync不要传输大于指定大小的文件 。
# rsync -avz --max-size='1M' root@192.168.1.2:/var/lib/rpm/ /root/temp/--max-size=1M使rsync仅传输小于或等于1M的文件 。单位可以是K,M,G等 。还可以使用--min-size=参数,指定传输最小文件的大小 。传输成功后删除源文件(--remove-source-files)假设你有一个主web服务器和一个数据备份服务器,你创建了一个每日备份并与备份服务器同步,现在你不想在你的web服务器上保留备份的本地副本 。
那么,您会等待传输完成,然后手动删除本地备份文件吗?这样做肯定有点麻烦,这种自动删除可以使用–remove-source-files选项来完成 。
rsync --remove-source-files -zvh backup.tar.gz root@192.168.0.151:/home/backup/检查:ls -l backup.tar.gz限制Rsync传输时的带宽(--bwlimit)在将数据从一台机器传输到另一台机器时,可以使用–bwlimit选项设置带宽限制 。这个选项可以帮助我们限制Rsync占用的网络带宽 。
rsync --bwlimit=100 -avzhe ssh/var/lib/rpm/root@192.168.0.151:/root/tmprpm/另外,默认情况下rsync只同步更改的块和字节,如果你想完整同步整个文件或目录,那么你可以使用-W选项 。
定时任务但是在现实工作环境中,备份工作通常是按计划重复执行的,比如:
[root@localhost ~]# vim /root/123.pass123456//任意创建一个文件用于存放rsync授权用户的密码信息[root@localhost ~]# chmod 600 /root/123.pass//必须设定600权限,否则执行时将会报错[root@localhost ~]# crontab -e//创建计划任务30 22 * * * /usr/bin/rsync -az --delete --password-file=/root/123.pass backuper@192.168.1.1::wwwroot /a//每天晚上22:30执行脚本[root@localhost ~]# systemctl restart crond//重新启动crond服务


推荐阅读