crontab перезагрузка не работает

Я пытаюсь запускать свой сценарий каждый раз при перезагрузке компьютера. Самый простой способ, который я нашел, - использовать crontab.

мой файл crontab выглядит так: enter image description here

Когда я пытаюсь проверить журнал, я получаю следующее enter image description here

Но скрипт по-прежнему не работает.

Есть идеи?

0
задан 6 December 2020 в 12:39

2 ответа

Это проблема, с которой я тоже сталкивался в прошлом. Мне удалось решить эту проблему, используя systemd, а не crontab.

Если вы посмотрите справочную страницу systemd.service, вы увидите, как в целом настроить systemd для управления службой. Вероятные примеры для вашей системы можно найти в / usr / lib / systemd / system или в подобном.

Для того, что вам нужно, служба может выглядеть примерно так:

[Unit]
Description=Reboot Processes

[Install]
WantedBy=multi-user.target

[Service]
ExecStart=/bin/bash /home/{account}/reboot.sh
Type=simple
User={account}
Group={group}
WorkingDirectory=/home/{account}
Restart=on-failure

Поместите это в файл назвал что-то вроде /etc/systemd/system/reboot-script.service .Затем запустите systemctl daemon-reload (один раз и всякий раз, когда вы изменяете reboot-script.service , чтобы указать systemd перечитать конфигурацию), затем systemctl start reboot-script .service , чтобы запустить процесс.

Если это сработает, как ожидалось, вы можете использовать systemctl enable reboot-script.service , чтобы убедиться, что он запускается при загрузке.

Некоторые примечания:

  1. Обязательно измените строки {account} и {group} в приведенном выше примере на правильные значения пользователя / группы для вашей системы
  2. WantedBy в Раздел установки сообщает systemd, какая «цель» (см. man systemd.target ) включает службу, когда вы включаете ее с помощью systemctl enable
  3. Restart определяет, при каких обстоятельствах systemd будет автоматически перезапущен сервис. Есть больше параметров, связанных с перезапуском, которые вы можете или не хотите изменять; см. справочную страницу systemd.service.

Надеюсь, это поможет.

1
ответ дан 3 January 2021 в 22:47

Я использую нечто подобное, чтобы мой резервный компьютер просыпался в определенное время после приостановки. Для завершения работы или перезагрузки сценарий должен находиться в / lib / systemd / system-shutdown

0
ответ дан 3 January 2021 в 22:47

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

Похожие вопросы: