如何在远程计算机上延迟运行脚本

如何在远程计算机上延迟运行脚本

我想在远程计算机上运行脚本但有延迟

例如

 scp -rp script root@$IP:/tmp

 ssh root@$IP:/tmp/script   ( but script will run after 5 sec ) 
  • 我的目标是 - 运行脚本...“没有连接...不通过 ssh

目标是在没有与源计算机连接的情况下运行脚本(不通过 ssh ),因此 ssh 将只是触发器,5 秒后脚本将运行

答案1

如果您的分辨率是分钟/小时/天而不是秒,您可以使用“at”:

ssh root@IP 'echo /tmp/script | at now + 5 minutes'

(需要 at 守护进程“atd”运行)

编辑:如果您确实想要秒分辨率,您可以使用“睡眠”,但您必须重定向 stdout 和 stderr 以便 ssh 释放连接:

ssh root@IP "(sleep 5; /tmp/script) >/dev/null 2>/dev/null &"

我在这里找到了解决方案:https://serverfault.com/a/36436

相关内容