【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/
- 1.
- 2.
- 3.
- 4.
为了避免同步时的错误,/usr/data最好给予写权限
sudo chmod o+w /usr/data/
- 1.
在FreeBSD8下安装rsync
#cd /usr/ports/net/rsync
#make install
- 1.
- 2.
配置rsync服务端
#sudo vim /usr/local/etc/rsyncd.conf
- 1.
添加以下内容
[www]
comment = web server backup
path = /www
auth users = woody
uid = nobody
gid = nogroup
secrets file = /usr/local/etc/rsyncd.pass
read only = no
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
配置rsyncd.pass
#sudo vim /usr/local/etc/rsyncd.secrets
- 1.
加入以下内容
admin:123456 // 认证所需的用户名/密码 建议设置强密码
#sudo chmod 600 /usr/local/etc/rsyncd.pass
- 1.
- 2.
配置rc.conf,加入以下内容:
rsyncd_enable="YES"
- 1.
启动rsync的daemon模式
#sudo vim /usr/local/etc/rc.d/rsyncd
- 1.
修改这一行内容,使用IPV4协议
command_args="-4 --daemon"
- 1.
配置到此ok了。现在启动Rsync:
#sudo /usr/local/etc/rc.d/rsyncd start
- 1.
检查Rsync daemon启动状态
# sockstat | grep rsync
root rsync 586 3 dgram -> /var/run/logpriv
root rsync 586 4 tcp4 *:873 *:*
- 1.
- 2.
- 3.
接下来是Rsync客户端配置(这里我是用的root身份)
1、配置rsyncd.pass
#vim /usr/local/etc/rsyncd.secrets
- 1.
加入以下内容
123456 //Rsync Server上的认证密码,不用输入用户名
#chmod 600 /usr/local/etc/rsyncd.pass
- 1.
- 2.
2、进行第一次同步
rsync -vzrtopg --password-file=/usr/local/etc/rsyncd.pass /var/www/html/newg 192.168.4.222::data
- 1.
很顺利成功了。
要实现自动同步的话,可以将上面的这行命令保存为一个sh文件,比如backupdata.sh,然后放进crontab里面每天00:01分的时候执行即可:
00 00 * * * root /bin/bash /data/backup/backupdata.sh
- 1.
有关Rsync的更多用法,可参考: