Запуск Linux Script из Windows в фоновом режиме

Я использую следующий сценарий с моей машины Windows для запуска на Linux и сделать резервную копию.

@ECHO off
:: run remote command
plink.exe username@myserver /home/username/do-backup.sh

Проблема с этим сценарием в том, что я должен поддерживать свою сессию. поскольку резервное копирование занимает около 30 минут, поэтому я хочу знать, есть ли способ запустить этот сценарий, и после этого команда резервного копирования продолжает работать, даже если я выключаю свою систему. или вы можете сказать, что я выполняю свой командный файл, он отправляется на сервер, исполняет скрипт на сервере, а затем возвращается, пока резервный скрипт продолжает работать на сервере.

2 ответа

Решение

Я фанат,

plink.exe username@myserver "echo /home/username/do-backup.sh | at now + 1 min"

который скажет удаленному серверу запустить скрипт через 1 минуту.

Обратите внимание, что, поскольку он запускает сценарий через планировщик, вам может потребоваться убедиться, что сценарий правильно настраивает среду, это может быть не та же среда, что и при запуске через интерактивный сеанс.

Если вы используете nohup в командной строке скрипт продолжит работу, даже если сеанс завершится. Итак, изменив свою команду на что-то вроде

plink.exe username@myserver nohup /home/username/do-backup.sh

Должен сделать это.

Другие вопросы по тегам