安装配置
1、拷贝配置文件到/etc/rsyncd.conf
cp /usr/share/doc/rsync/examples/rsyncd.conf /etc/rsyncd.conf
2、打开配置文件
vim /etc/rsyncd.conf
3、打开后需要去掉注释的语句
- 设置密码文件位置:
secrets file = /etc/rsyncd.secrets - rsync进程启动位置:
pid file = /var/run/rsyncd.pid - 日志文件位置:
log file = /var/log/rsyncd (该文件需要手动创建) - 修改rsync的同步位置:
path = /home/test
4、编辑密码
vim /etc/rsyncd.secrets
root:123456
5、设置启动方式
vim /etc/init.d/rsync
RSYNC_ENABLE 原值为false 改为true
Vim /etc/default/rsync
RSYNC_ENABLE 原值为false 改为true
6、重启rsync服务
/etc/init.d/rsync restart
7、设置定时任务
vim /etc/crontab
* * * * * root rsync -avz --delete root@192.168.1.11::ftp /home/test/
避免crontab同时执行多个rsync脚本的方法
如果某脚本要跑30分钟,可以在crontab里把脚本间隔设为至少一小时来避免冲突。
而比较糟的情况可能该脚本在执行周期内没完成,接着第二个脚本又开始跑了。如何确保只有一个脚本实例运行? \
linux下面:flock \
help显示如下:
flock (util-linux 2.13-pre7)
Usage: flock [-sxun][-w #] fd#
flock [-sxon][-w #] file [-c] command...
-s --shared Get a shared lock
-x --exclusive Get an exclusive lock
-u --unlock Remove a lock
-n --nonblock Fail rather than wait
-w --timeout Wait for a limited amount of time
-o --close Close file descriptor before running command
-c --command Run a single command string through the shell
-h --help Display this text
-V --version Display version
比如在rsync定时同步某文件夹的时候,可能担心上一次任务还没执行完,下一次就开始了。于是可以采用如下方式:
1 * * * * flock -xn /var/run/rsync.lock -c 'rsync -avz --delete root@192.168.1.11::ftp /home/samba/share'
对照usage,x创建一个独享锁,n是如果已存在就退出,然后一个lock文件,c是shell命令,具体内容就是rsync。 \
注意点:我们需要自己创建rsync.lock文件:touch /var/run/rsync.lock