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 命令休眠没有简单的解决方法
执行以下任一操作:
- ssh 进入服务器两次。 rsync 完成后,再次 ssh 进入服务器并删除文件。
- 告诉 rsync 在同步文件后删除文件。将
--remove-source-files
添加到 rsync。
正在尝试创建将 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 命令休眠没有简单的解决方法执行以下任一操作:
- ssh 进入服务器两次。 rsync 完成后,再次 ssh 进入服务器并删除文件。
- 告诉 rsync 在同步文件后删除文件。将
--remove-source-files
添加到 rsync。