Я работаю на сервере Ubuntu, расположенном в месте, куда я обычно не хожу. Я использую SSH через OpenVPN для доступа к нему. Машина имеет несколько проводных интерфейсов, множество статических маршрутов и несколько шлюзов по умолчанию для WAN. Я часто меняю адреса интерфейсов и маршруты. В большинстве случаев я делаю изменения временно - перезагрузка сбрасывает эксперименты, которые я провел. В некоторых случаях некоторые из этих модификаций работали неправильно, и машина отключалась. В таких случаях мне приходилось вызывать кого-то в том месте, где расположен сервер, чтобы отправить машину в перезагрузку.
Теперь я хотел бы запланировать перезагрузку - скажем, через 2 часа машина должна войти в цикл перезагрузки. И в эти два часа я могу проводить любые временные эксперименты, какие захочу. Если все временные изменения пройдут успешно, я смогу предотвратить перезагрузку через два часа. Итак, что я хочу, это:
- Как сказать серверу перезагрузиться после определенного времени?
- Если я решу, что машина не должна перезагружаться, я смогу отменить ее.
источник
nohup
иsudo
это сделало бы эту работу, если запускать из обычного сеанса SSH, как обычный пользователь группы администраторов.Вы также можете использовать,
at
чтобы запланировать перезагрузки. Например,sudo at 22:00
чтобы запустить команду в 22:00 от имени пользователя root. Затем введите команду, которую хотите запустить:/sbin/shutdown -r now
и завершите сctrl-d
. Если вы решили не запускать эту команду, запустите,sudo atrm 1
чтобы удалить первый вat
очереди. При этомsudo atq
вы можете увидеть очередь.источник
at
Семейство команд то , что каждый сервер админ должен знать.at
, сначала выполнитеsudo at 22:00
. Это берет вас в своего рода оболочку. Затем вы вводите команду иctrl-d
выходите. См. Также mixeduperic.com/ubuntu/…