bash 脚本:ssh 创建文件;睡3m; rm文件;

bash cript: ssh create file; sleep 3m; rm file;

正在尝试创建将 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;

我尝试用命令分组()来创建一个子命令,但我认为该变量不会被读取。不确定。

您的 ssh 命令将休眠 3 分钟并删除文件,然后您的脚本继续尝试 rsync 已删除的文件。当您自己的脚本继续执行 运行 rsync.

时,让您的第一个 ssh 命令休眠没有简单的解决方法

执行以下任一操作:

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