Unix: запускать скрипт на другом компьютере в определенное время - PullRequest
0 голосов
/ 02 января 2012

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

Я не имею права cron, at и crontab.

Теперь существует какой-либо другой способ реализации логики для запуска сценария на время ввода (заданное в настраиваемом файле) из другого сценария, работающего на другом хосте.

Подробно: Это как script_A читает конфигурационный файл, откуда он получает три входа script_B, время запуска (ddmmyyyy h24: mm: ss), login1 @ machine1. Этот script_B должен быть запущен в указанное время на данном хосте.

Ни у одной из подключенных машин нет cron, crontab, в разрешениях

Я использую солярис

Можем ли мы иметь что-то подобное в unix, когда script_A создает script_c, у которого есть script_B с параметром проверки времени. Теперь этот script_c копируется на удаленную машину и продолжает работать в фоновом режиме до тех пор, пока не истечет указанное время. Как только время настало, он выполняет script_b (расположенный на удаленном хосте в файле конфигурации) и завершает работу.

Спасибо.

Ответы [ 2 ]

1 голос
/ 02 января 2012

Если вы хотите выполнить команду foo в эпоху времени xxxxxxxxxx на хосте, вы можете сделать:

$ delay=$((xxxxxxxxxx - $( date +%s ))); test $delay -gt 0 &&
        sleep $delay && ssh host foo
0 голосов
/ 02 января 2012

Самый простой способ - скомпилировать cron из исходного кода и развернуть его на целевом компьютере.Каждый раз, когда ваш код получает какой-либо контроль над машиной, проверьте, работает ли ваш cron демон (классический файл PID), и запустите его, если необходимо.Это социальная проблема и техническое решение.Ваш пробег будет низким.

...