リモートシステムでスクリプトの実行を遅らせる方法

リモートシステムでスクリプトの実行を遅らせる方法

リモートコンピュータでスクリプトを実行したいのですが、遅延があります。

例えば

 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'

(実行するにはデーモン「atd」が必要です)

編集:本当に2番目の回避策が必要な場合は「sleep」を使用できますが、sshが切断するにはstdoutとstderrをリダイレクトする必要があります。

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

ここで解決策を見つけました。https://serverfault.com/a/36436

関連情報