【问题标题】:bash cript: ssh create file; sleep 3m; rm file;bash 脚本:ssh 创建文件;睡3m; .rm 文件;
【发布时间】:2018-02-05 07:54:46
【问题描述】:

尝试创建一个脚本,将ssh 放入服务器,备份一些文件,休眠 3 分钟,然后删除文件。

当它处于休眠状态时,相同的脚本返回到本地和rsync 文件。然后当 3 分钟结束时...文件被删除。

只是尝试这样做,以免与 ssh 连接两次。

ssh $site "
tar -zcf $domain-$date.tar.gz $path;
{ sleep 3m && rm -f $domain-$date.tar.gz };
"

rsync -az $site:$domain-$date.tar.gz ~/WebSites/$domain/BackUp/$date;

我尝试使用 () 进行命令分组,以创建子命令,但我认为变量不会被读取。不确定。

【问题讨论】:

    标签: linux bash ssh rsync


    【解决方案1】:

    您的 ssh 命令将休眠 3 分钟并删除文件,然后您的脚本继续尝试 rsync 已删除的文件。在您自己的脚本继续运行 rsync 时,让您的第一个 ssh 命令休眠并没有简单的解决方法。

    做任何一个:

    1. SSH 两次进入服务器。 rsync 完成后,再次 ssh 进入服务器并删除文件。
    2. 告诉 rsync 在同步文件后删除它们。将--remove-source-files 添加到 rsync。

    【讨论】:

    • 试图通过在后台睡觉来变得“聪明”,但是是的......选项2成功了。谢谢!
    猜你喜欢
    • 2013-01-19
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    • 2017-12-07
    相关资源
    最近更新 更多