【51CTO技术精选】Rsync是一个非常方便的同步工具,尤其适合海量的小文件在二台服务器之间同步。在Linux下配置rsync比较容易,那要是在FreeBSD 8下面呢?其实也不是太困难,大家按照如下操作即可:
目标:在一台CentOS 5.5的Linux机器上-IP:192.168.4.194下的/var/www/website/newg下的所有图片自动rsync(不能输入密码)到FreeBSD 8下的/usr/data下
推荐专题:企业内网开发环境部署与管理全攻略(FreeBSD+PHP)
准备工作:
在FreeBSD8下创建用户及给权限等
sudo pw useradd admin sudo passwd admin sudo mkdir -p /usr/data/ sudo chown admin:admin /usr/data/
为了避免同步时的错误,/usr/data最好给予写权限
sudo chmod o+w /usr/data/
在FreeBSD8下安装rsync
#cd /usr/ports/net/rsync #make install
配置rsync服务端
#sudo vim /usr/local/etc/rsyncd.conf
添加以下内容
[www] comment = web server backup path = /www auth users = woody uid = nobody gid = nogroup secrets file = /usr/local/etc/rsyncd.pass read only = no
配置rsyncd.pass
#sudo vim /usr/local/etc/rsyncd.secrets
加入以下内容
admin:123456 // 认证所需的用户名/密码 建议设置强密码 #sudo chmod 600 /usr/local/etc/rsyncd.pass
配置rc.conf,加入以下内容:
rsyncd_enable="YES"
启动rsync的daemon模式
#sudo vim /usr/local/etc/rc.d/rsyncd
修改这一行内容,使用IPV4协议
command_args="-4 --daemon"
配置到此ok了。现在启动Rsync:
#sudo /usr/local/etc/rc.d/rsyncd start
检查Rsync daemon启动状态
# sockstat | grep rsync root rsync 586 3 dgram -> /var/run/logpriv root rsync 586 4 tcp4 *:873 *:*
接下来是Rsync客户端配置(这里我是用的root身份)
1、配置rsyncd.pass
#vim /usr/local/etc/rsyncd.secrets
加入以下内容
123456 //Rsync Server上的认证密码,不用输入用户名 #chmod 600 /usr/local/etc/rsyncd.pass
2、进行第一次同步
rsync -vzrtopg --password-file=/usr/local/etc/rsyncd.pass /var/www/html/newg 192.168.4.222::data
很顺利成功了。
要实现自动同步的话,可以将上面的这行命令保存为一个sh文件,比如backupdata.sh,然后放进crontab里面每天00:01分的时候执行即可:
00 00 * * * root /bin/bash /data/backup/backupdata.sh
有关Rsync的更多用法,可参考: