Rsync Configuration

来自开放百科 - 灰狐
跳转到: 导航, 搜索

在一些Linux系统上安装rsync后,并没有创建rsyncd.conf文档,需要自己创建rsync的配置文档:rsyncd.conf

[root@linuxas4 root]# touch /etc/rsyncd.conf
[root@linuxas4 root]# vi /etc/rsyncd.conf
uid=nobody
gid=nobody
max connections=4   #可以同时链接的客户端数量
use chroot=no
log file=/var/log/rsyncd.log  #日志文件
pid file=/var/run/rsyncd.pid  #进程ID文件
lock file=/var/run/rsyncd.lock  #"max connections"选项记录的链接信息
secrets file=/etc/rsyncd.pwd  #密码文件,权限设为600,所有者root

[test] #同步模块名称

path=/var/mail    #同步模块的实际目录
comment = backup mail   #同步模块的说明
ignore errors    #忽略错误选项
read only = yes    #禁止修改服务器端的文件
list = no    #不列出本模块(即建立的是隐藏模块)
auth users = postfix,user01  #列出可进行连接的用户(必须是secrets file文件中列出的用户)

在后台运行:

[root@linuxas4 root]# rsync --daemon

让它随系统自动启动:

[root@linuxas4 root]# echo "rsync --daemon" >> /etc/rc.d/rc.local

建立密码文件

[root@linuxas4 root]# echo postfix:password >>/etc/rsyncd.pwd
[root@linuxas4 root]# echo user01:password01 >>/etc/rsyncd.pwd
[root@linuxas4 root]# echo user02:password02 >>/etc/rsyncd.pwd
[root@linuxas4 root]# chmod 600 /etc/rsyncd.pwd

到客户端测试:

[root@linuxclint root]# rsync -vzrtopg --progress --delete [email protected]::test /tmp/

Password: 可以在客户端建立密码文件(每个文件只能存一个用户密码):

[root@linuxclint root]# touch /usr/rsyncpw/user01
[root@linuxclint root]# echo password01 >>/usr/rsyncpw/user01
[root@linuxclint root]# chmod 600 /usr/rsyncpw/user01
[root@linuxclint root]# rsync -vzrtopg --progress --delete [email protected]::test /tmp/ --password-file=/usr/rsyncpw/user01

将同步加入任务计划:

[root@linuxclint root]# touch /usr/local/bin/rsync.sh
[root@linuxclint root]# chmod 700 /usr/local/bin/rsync.sh
[root@linuxclint root]# mkdir /temp1/backup/
[root@linuxclint root]# vi /usr/local/bin/rsync.sh
#!/bin/sh 
DATE=`date +%w` 
rsync -vzrtopg --progress --delete [email protected]::test /temp1/backup/$DATE --password-file=/usr/rsyncpw/user01 >  
/var/log/rsync.$DATE

使用crontab -e命令来设定按规则定时运行,例如每天早上6点备份:

0 6 * * * /usr/local/bin/rsync.sh

注:命令行中-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数。 --progress是指显示出详细的进度情况,--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。

来源: http://blog.chinaunix.net/u/13902/showart_129917.html

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱