【问题标题】:Copying updated files from one server to another after 15 min15 分钟后将更新的文件从一台服务器复制到另一台服务器
【发布时间】:2015-04-06 14:03:18
【问题描述】:

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

这是我的脚本:

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

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

【问题讨论】:

    标签: linux shell expect rsync scp


    【解决方案1】:

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

    rsync -avz -e ssh remoteuser@remotehost:/remote/dir /local/dir/ 
    

    将 ssh 指定为要使用的远程 shell (-e ssh ...),-a 激活存档模式,-v 设置详细输出,-z 压缩传输。

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

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

    【讨论】:

      猜你喜欢
      • 2016-02-26
      • 2021-06-22
      • 2014-05-17
      • 1970-01-01
      • 1970-01-01
      • 2020-06-18
      • 1970-01-01
      • 2018-07-08
      • 2011-02-05
      相关资源
      最近更新 更多