一、服务器端配置:
1.1、安装
#系统一般是默认安装的 rsync
如果没有安装可以到安装光盘里去找(我的系统为CentOS4.6 所以在第一张光盘的\CentOS\RPMS\目录下)
1.2、配置/etc/rsyncd.conf
[root@rsync ~]# vi /etc/rsyncd.conf
uid=nobody # 该选项指定当该模块传输文件时守护进程应该具有的uid.默认值为”nobody”.
gid=nobody # 该选项指定当该模块传输文件时守护进程应该具有的gid.默认值为”nobody”.
max connections=4 # 最大连接数为4
use chroot=no # 不使用chroot
log file=/var/log/rsyncd.log # 指定日志文件位置
pid file=/var/run/rsyncd.pid # 指定进程文件位置
lock file=/var/run/rsyncd.lock # 指定支持max connections参数的锁文件
#auth users=root
hosts allow = 192.168.100.90 # 哪些电脑可以访问rsync服务 白名单
hosts deny = 192.168.100.0/24 # 哪些电脑不可以访问rsync服务 黑名单
[postfix] # 这里是模块名称,在client端链接时需要指定
path=/var/mail # 需要做镜像的目录
comment = backup mail # 注释
ignore errors # 忽略一些无关的IO错误
read only = yes # 只读
list = no # 不允许展示模块列表
auth users = postfix # 指定用户,虚拟用户(非系统用户,不在/etc/passwd中)
secrets file=/etc/rsyncd.pwd # 认证文件名,主要保存虚拟用户密码,权限设为600,所有者root,否则客户端会报错
1.3、设置完配置文件需要在server端生成一个密码文件/etc/rsyncd.pwd (文件内容是虚拟用户及密码的数据库,键值对方式,权限设为600)
[root@rsync ~]# echo postfix:xxx >>/etc/rsyncd.pwd
[root@rsync ~]# chmod 600 /etc/rsyncd.pwd
1.4、启动rsync
[root@rsync ~]#rsync –daemon
[root@rsync ~]#echo “rsync –daemon” >> /etc/rc.d/rc.local #添加到自启动文件
1.5、检查rsync
[root@rsync ~]#netstat -na | grep 873 #rsync 默认使用的是873端口,除非特殊情况,一般不要去修改
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN
tcp 0 0 :::873 :::* LISTEN
[root@rsync ~]#ss -antlp|grep rsync
二、客户端配置:
2.1、在本机生产密码文件
[root@client ~]#echo XXX >>/etc/rsyncd.pwd # rsync服务器postfix密码(注:只要密码)
2.2、客户端备份服务器上指定模块中的数据
[root@client ~]#rsync -vzrtopg –progress –delete –password-file=/etc/rsync.pas postfix@192.168.100.1::postfix /home/mail/ #备份rsync服务器上postfix中模块指定文件夹,并删除本地服务器上没有的内容
# -v, –verbose 详细模式输出
# -z, –compress 对备份的文件在传输时进行压缩处理
# -r, –recursive 对子目录以递归模式处理
# -t, –times 保持文件时间信息
# -o, –owner 保持文件属主信息
# -p, –perms 保持文件权限
# -g, –group 保持文件属组信息
# –progress 显示传输进度
# –delete 删除本地备份目录中服务器模块指定目录中没有的文件
# –password-file 从指定文件中得到密码
2.3、制定计划任务
[root@client ~]#crontab -e
0 0 * * * rsync -vzrtopg –progress –delete –password-file=/etc/rsync.pas postfix@192.168.100.1::postfix /home/mail/