Я хотел бы выполнять скрипт каждые 30 минут после загрузки в систему. Я знаю, что вы можете использовать cron, но я не планирую использовать эту функцию часто, поэтому я хотел бы попробовать ее с systemd.
До сих пор я нашел только монотонные таймеры, которые позволяют выполнить что-то один раз (по крайней мере, я так думаю). Как бы foo.timer
и foo@user.service
выглядело, если бы я хотел что-то запускать каждые 30 минут после загрузки / запуска системы?
foo@user.service
[Unit]
Description=run foo
Wants=foo.timer
[Service]
User=%I
Type=simple
ExecStart=/bin/bash /home/user/script.sh
foo.timer
[Unit]
Description=run foo
[Timer]
where I am stuck... ???
источник
systemctl status test.timer
иsystemctl status test.service
comamandsystemctl list-timers --all
команду и проверьте вывод. Он должен быть таким . Посмотрите на единицу, слева и пропущенные столбцы Если таймер присутствует, пожалуйста, посмотрите на ваш сервисный файл и проверьте на наличие ошибок, так как таймер работает нормально.export DISPLAY=:0.0
в скрипт.Вот еще один вариант без использования вашего таймера. Если время не очень важно и сценарий не работает долго, это будет хорошо для простых вещей.
источник