Я хочу запустить скрипт на удаленной машине, но с задержкой
например
scp -rp script root@$IP:/tmp
ssh root@$IP:/tmp/script ( but script will run after 5 sec )
цель - запустить скрипт без подключения с исходной машины (не через ssh), так что ssh будет только триггером и через 5 секунд скрипт запустится
Если ваше разрешение было в минутах/часах/днях, а не в секундах, вы можете использовать 'at':
ssh root@IP 'echo /tmp/script | at now + 5 minutes'
(Требуется работающий демон at 'atd')
РЕДАКТИРОВАТЬ :Если вам нужно разрешение в секундах, вы можете использовать 'sleep', но вам нужно перенаправить stdout и stderr, чтобы ssh разорвал соединение:
ssh root@IP "(sleep 5; /tmp/script) >/dev/null 2>/dev/null &"
Я нашел решение здесь:https://serverfault.com/a/36436