我想在远程计算机上运行脚本但有延迟
例如
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