Запустить перезапуск NTP после «бродячего возобновления»
Я управляю некоторыми виртуальными машинами сервера Debian 11 с помощью Vagrant. Иногда мне нужноvagrant suspend
их, и я заметил, что после , их системное время отключено. Бегsystemctl status ntp
показывает, что служба NTP отключена из-за сбоя. Я мог бы решить эту проблему, перезапустив NTP вручную после , поэтому я хотел добавить триггер в Vagrantfile:
config.trigger.after :resume do |trigger|
trigger.info = "Restart NTP"
trigger.run = {inline: "bash -c 'systemctl start ntp'"}
end
...но сейчасvagrant resume
выдает ошибку:
==> xxx-vm: Running action triggers after resume ...
==> xxx-vm: Running trigger...
==> xxx-vm: Restart NTP
xxx-vm: Running local: Inline script
xxx-vm: bash -c 'systemctl start ntp'
xxx-vm: System has not been booted with systemd as init system (PID 1). Can't operate.
xxx-vm: Failed to connect to bus: Host is down
==> xxx-vm: Trigger run failed
Я думал, что этот триггер должен сработать после возобновления работы виртуальной машины, но, видимо, виртуальная машина все еще не работает во время работы. Можно ли автоматически запустить сценарий при возобновлении работы виртуальной машины?
1 ответ
Я понял:run
запускает скрипт на хосте, чтобы запустить его на госте (виртуальной машине),run_remote
необходимо использовать:
config.trigger.after :resume do |trigger|
trigger.info = "Restart NTP"
trigger.run_remote = {inline: "bash -c 'systemctl start ntp'"}
end