linux下基于rsync + find命令实现文件同步机制
rsync和find是linux系统自带的命令,如果没有安装可以找到系统安装盘或者ISO文件,里面有rpm包,安装一下就可以了。
具体思路如下:
1)可以实现定时进行rsync。系统定时任务可以搞定这个事,具体可参见下面的网址:
例如:
#crontab -e
0 17 * * 1-5 rsync -ave ssh 192.168.0.103:/my /my
2)可实现按指定文件夹同步数据。使用rsync的--include --exclude参数实现,参见:
例如:
rsync -nrv --include-from=/root/shell/test.include --exclude=/*
3)可选择同步文件的时间段。例如,想同步2014-01-2014-02之间的文件,这个是可以指定的。参见:
例如:同步六十天内三十天以前的文件
rsync -avz -e ssh --files-from=<(find -mtime +30 -mtime -60) source dest
4)断点续传功能已由rsync自行解决。rsync使用的md5进行校验。