Вопрос или проблема
Я испытываю большие трудности с таймерами systemd.
$ sudo systemd-analyze Notify_Satdisk_Needs_H20.service
Неизвестная команда 'Notify_Satdisk_Needs_H20.service'.
Notify_Satdisk_Needs_H20.service
[Unit]
Description="Скрипт показа сообщения спутниковой антенны"
[Service]
ExecStart=usr/local/bin/SatDiskMessage.sh
Ответ или решение
Судя по вашему вопросу, вы столкнулись с проблемой при работе с таймерами systemd и не можете выполнить команду systemd-analyze
для вашего сервиса. Давайте разберем вашу ситуацию и предложим решение.
1. Ошибка с командой systemd-analyze
Команда, которую вы используете:
sudo systemd-analyze Notify_Satdisk_Needs_H20.service
выдает ошибку Unknown command verb 'Notify_Satdisk_Needs_H20.service'
. Это происходит потому, что команда systemd-analyze
не принимает аргументы в таком формате. Правильный синтаксис для проверки состояния или информации о юните (службе) выглядит следующим образом:
sudo systemctl status Notify_Satdisk_Needs_H20.service
Используйте systemctl
, чтобы получить информацию о сервисе, а не systemd-analyze
.
2. Проверка конфигурации сервиса
Также хочу указать на то, что в вашем конфигурационном файле сервиса не хватает знака /
перед usr
. Ваше ExecStart
должно выглядеть так:
ExecStart=/usr/local/bin/SatDiskMessage.sh
3. Создание таймера
Если вы хотите создать таймер для запуска вашего сервиса, вам потребуется создать файл таймера. Например, создайте файл Notify_Satdisk_Needs_H20.timer
:
[Unit]
Description=Запуск скрипта для сообщения о спутниковой тарелке
[Timer]
OnCalendar=daily
Persistent=true
[Install]
WantedBy=timers.target
Этот таймер настроен на выполнение вашего сервиса каждый день. Вы можете изменить параметр OnCalendar
на более специфический, в зависимости от ваших потребностей.
4. Включение и запуск таймера
После того как вы создали файл таймера, выполните следующие команды, чтобы включить и запустить его:
sudo systemctl enable Notify_Satdisk_Needs_H20.timer
sudo systemctl start Notify_Satdisk_Needs_H20.timer
5. Проверка статуса таймера
Вы можете проверить статус вашего таймера с помощью команды:
sudo systemctl status Notify_Satdisk_Needs_H20.timer
Это должно дать вам информацию о том, активен ли таймер и когда он будет запущен в следующий раз.
Заключение
Таким образом, проверьте конфигурацию вашего сервиса, создайте и активируйте таймер, а также используйте systemctl
для получения статуса. Если у вас возникнут дополнительные вопросы или проблемы, пожалуйста, уточните, и я постараюсь помочь вам более детально.