????????有了同步源服务器之后,就可以使用rsync工具来执行远程同步了,本节介绍的备份操作均在客 户机(发起端)执行,实际上,同步源与发起端可以是同一台主机(当然这种情况不常见),其效果相当于本地备份而不是异地备份。? ?
????????绝大多数的备份程序要求指定原始位置、目标位置,rsync命令也一样,最简单的rsync用法类 似于cp命令。
????????例如,可以将文件/etc/fstab、目录/boot/grub同步备份到/opt目录下,其中,
????????“-r“ 选项表示递归整个目录树,“-l”选项用来备份链接文件。
[root@lgcllc ~]# rsync /etc/fstab /opt
[root@lgcllc ~]# rsync -rl /etc/fstab /boot/grub /opt
????????从以上操作可以看出,备份的基本格式为“rsync[选项]原始位置 目标位置”,其中常用的一些 命令选项如下所示,具体应根据实际需求选择(如-avz)。
????????在执行远程同步任务时,rsync命令需要指定同步源服务器中的资源位置,rsync同步源的资源表示方式为“用户名@主机地址::共享模块名”或者“rsync://用户名@主机地址/共享模块名”,前者为两个冒号分隔形式,后者为URL地址形式。
????????例如,执行以下操作将访问rsync同步源,将指定的资源下载到本地/root目录下进行备份。
[root@lgcllc ~]# rsync -avz backuper@192.168.55.123::wwwroot /root
或
[root@lgcllc ~]# rsync -avz rsync://backuper@192.168.55.123/wwwroot /root
? ? ?执行以下操作将访问源服务器中的wwwroot共享模块,并下载到本地的/myweb目录下。
[root@lgcllc ~]# mkdir /myweb
[root@lgcllc ~]# rsync -avzH --delete backuper@192.168.55.123::wwwroot /myweb
Password: pwd123 //输入密码
[root@lgcllc ~]# ls /myweb //确认同步结果
bdandoc bdqndoc jbitdoc
????????实际生产环境中的备份工作通常是按计划重复执行的。例如,每天晚上22:30对服务器的网站 目录做一次同步,定期任务可以交给crond服务来完成.。
????????为了在同步过程中不用输入密码,需要创建一个密码文件,保存backuper用户的密码,如 /etc/server.pass.在执行rsync同步时使用选项“--password-file=/etc/server.pass”指定即可。
[root@lgcllc ~]# vim /etc/server.pass
pwd123
[root@lgcllc ~]# chmod 600 /etc/server.pass
[root@lgcllc ~]# crontab -e
30 22 * * * /usr/bin/rsync -az --delete --passwd-file=/etc/server.pass backuper@192.168.55.123::wwwroot /myweb
[root@lgcllc ~]# systemctl restart crond
[root@lgcllc ~]# systemctl enable crond