2015-02-06 93 views
1

我想在新文件生成时每15分钟将更新的文件从一台服务器复制到另一台服务器。我使用expect脚本编写代码。它工作正常,但15分钟后它复制目录中的所有文件,即它将替换并复制最新的一个。我只想更新文件(每15分钟更新一次)以获取复制,而不是所有文件。15分钟后将更新的文件从一台服务器复制到另一台服务器

这里是我的脚本:

while : 
do 
     expect -c "spawn scp -P $Port [email protected]$IP_APP:/mnt/oam/PmCounters/LBO* Test/;expect \"password\";send \"password\r\";expect eof" 
     sleep 900 
done 

我可以使用rsync或其他任何方法,以及如何?

回答

0

rsync默认情况下仅复制已更改或新文件。例如使用该语法:

rsync -avz -e ssh [email protected]:/remote/dir /local/dir/ 

指定ssh作为远程外壳使用(-e ssh ...),-a激活归档模式,-v套详细的输出和-z压缩传输。

您可以通过cronjob每15分钟运行一次。

对于密码,您可以使用$RSYNC_PASSWORD环境变量或--password-file标志。

相关问题