Я пытаюсь запускать свой сценарий каждый раз при перезагрузке компьютера. Самый простой способ, который я нашел, - использовать crontab.
мой файл crontab выглядит так:
Когда я пытаюсь проверить журнал, я получаю следующее
Но скрипт по-прежнему не работает.
Есть идеи?
Это проблема, с которой я тоже сталкивался в прошлом. Мне удалось решить эту проблему, используя 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
, чтобы убедиться, что он запускается при загрузке.
Некоторые примечания:
{account}
и {group}
в приведенном выше примере на правильные значения пользователя / группы для вашей системы WantedBy
в Раздел установки сообщает systemd, какая «цель» (см. man systemd.target
) включает службу, когда вы включаете ее с помощью systemctl enable
Restart
определяет, при каких обстоятельствах systemd будет автоматически перезапущен сервис. Есть больше параметров, связанных с перезапуском, которые вы можете или не хотите изменять; см. справочную страницу systemd.service. Надеюсь, это поможет.
Я использую нечто подобное, чтобы мой резервный компьютер просыпался в определенное время после приостановки. Для завершения работы или перезагрузки сценарий должен находиться в / lib / systemd / system-shutdown