Назад | Перейти на главную страницу

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

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

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

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

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

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

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

Я фанат

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

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

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