用.系统默认没有这个文件,自己手动创建一个即可.
3、在A系统上启动rsync守护进程
执行如下指令启动rsync守护进程:
[root@web ~]# /usr/local/bin/rsync --daemon
[root@localhost /]# ps -ef|grep rsync
root 20278 1 0 16:29 ? 00:00:00 /usr/local/bin/rsync --daemon
4、在B系统上配置rsync
在备份机上不用做任何设置,只需执行rsync同步操作即可,为了在同步过程中,不用输入密码,需要在B系统上创建一个secrets file,此文件的内容为A系统rsyncd.conf文件中“auth users”选项指定用户的密码,而这个文件的名称以及路径可以随意指定,只要在执行rsync同步时指定即可.
接下来执行同步操作,请看如下指令:
[root@web~]# /usr/local/bin/rsync -vzrtopg --delete --progress backup@192.168.60.253::ixdba /ixdba.net --password-file=/etc/server.pass
对这条指令中每个参数的含义介绍如下:
“--vzrtopg”选项中v是“—verbose”,即详细模式输出,z表示“--compress” 即对备份的文件在传输时进行压缩处理,r表示“--recursive”,也就是对子目录以递归模式处理.t即“--times”,用来保持文件时间信息,o即“--owner”用来保持文件属主信息.p即“--perms”用来保持文件权限,g即“--group”用来保持文件的属组信息.
“--delete”选项指定以rsync服务端为基准进行数据镜像同步,也就是要保持rsync服务端目录与客户端目录的完全一致性.在这里也就是以A服务器为基准进行同步.
“--progress”选项用于显示数据镜像同步的过程.
“backup@192.168.60.253::ixdba” 表示对服务器192.168.60.253中的ixdba模块进行备份,也就是指定备份的模块,backup表示使用“backup”这个用户对该模块进行备份.
“/ixdba.net”用于指定备份文件在客户端机器上的存放路径,也就是将备份的文件存放在备份机的/ixdba.net目录下.
“--password-file=/etc/server.pass”用来指定客户机上存放的密码文件位置,这样在客户端执行同步命令时就无需输入交互密码了,注意,这个密码文件的名称和位置可以随意指定,但是在客户机上存在此文件,文件的内容仅仅为备份用户的密码,这里指的是backup的密码.
其实rsync作为客户端工具,提供了很多的选项和参数,这里我们仅仅给出了常用的一部分,更详细的信息请执行“man rsync”查看.
如果配置没有错误,接下来rsync将自动去服务端(即A系统)将需要备份的数据同步到客户端(即B系统).rsync指令在客户端执行完成数据的同步后,将自动停止,以后如果在服务端目录下有新增数据时,客户端不会自动将数据同步过去,此时,还需要再次执行rsync命令组合进行数据同步,因此,rsync方式的数据备份是需要触发同步指令才能完成.
触发同步指令的方式有很多种,例如可以将同步指令放入客户端系统的crontab守护进程,设定同步时间,然后让Linux去触发同步指令,自动完成数据备份.这种数据备份方式可以用于数据安全性要求不是很高的业务系统上.
细心的你可能发现了,在这种方式下,服务端和客户端的数据在两次同步的时间间隔内,可能出现不一致现象.而对于数据安全性要求极高的业务系统,这种备份方式就不能满足要求了,这些业务要求服务端和客户端的数据要做到实时同步,不过幸运的是,Linux内核提供了inotify文件系统监控机制,通过inotify与rsync的组合,完全可以做到rsync服务端和客户端数据的实时同步.
至此,关于rsync的简单应用,我们已经做
|