Есть ли способ узнать, когда будет запускаться системный таймер?

Я тестирую таймер systemd и пытаюсь переопределить его тайм-аут по умолчанию, но безуспешно. Мне интересно, есть ли способ попросить systemd рассказать нам, когда служба будет запущена дальше.

Обычный файл ( /lib/systemd/system/snapbackend.timer ):

 # Documentation available at: # https://www.freedesktop.org/software/systemd/man/systemd.timer.html [Unit] Description=Run the snapbackend service once every 5 minutes. [Timer] # You must have an OnBootSec (or OnStartupSec) otherwise it does not auto-start OnBootSec=5min OnUnitActiveSec=5min # The default accuracy is 1 minute. I'm not too sure that either way # will affect us. I am thinking that since our computers will be # permanently running, it probably won't be that inaccurate anyway. # See also: # http://stackoverflow.com/questions/39176514/is-it-correct-that-systemd-timer-accuracysec-parameter-make-the-ticks-slip #AccuracySec=1 [Install] WantedBy=timers.target # vim: syntax=dosini 

Файл переопределения ( /etc/systemd/system/snapbackend.timer.d/override.conf ):

 # This file was auto-generated by snapmanager.cgi # Feel free to do additional modifications here as # snapmanager.cgi will be aware of them as expected. [Timer] OnUnitActiveSec=30min 

Я выполнил следующие команды, и таймер все еще тикает каждые 5 минут. Может ли быть ошибка в systemd?

 sudo systemctl stop snapbackend.timer sudo systemctl daemon-reload sudo systemctl start snapbackend.timer 

Так что мне также было интересно, как я могу узнать, когда будет галочка? Потому что это сразу сообщит мне, через 5 минут. или 30 мин. но из состояния systemctl status snapbackend.timer ничего не говорит об этом. Просто интересно, есть ли команда, которая сообщит мне о задержке, которая в настоящее время используется.

Для тех, кто заинтересован, есть также служебный файл ( /lib/systemd/system/snapbackend.service ), хотя я бы предположил, что это не должно влиять на /lib/systemd/system/snapbackend.service таймера …

 # Documentation available at: # https://www.freedesktop.org/software/systemd/man/systemd.service.html [Unit] Description=Snap! Websites snapbackend CRON daemon After=snapbase.service snapcommunicator.service snapfirewall.service snaplock.service snapdbproxy.service [Service] # See also the snapbackend.timer file Type=simple WorkingDirectory=~ ProtectHome=true NoNewPrivileges=true ExecStart=/usr/bin/snapbackend ExecStop=/usr/bin/snapstop --timeout 300 $MAINPID User=snapwebsites Group=snapwebsites # No auto-restart, we use the timer to start once in a while # We also want to make systemd think that exit(1) is fine SuccessExitStatus=1 Nice=5 LimitNPROC=1000 # For developers and administrators to get console output #StandardOutput=tty #StandardError=tty #TTYPath=/dev/console # Enter a size to get a core dump in case of a crash #LimitCORE=10G [Install] WantedBy=multi-user.target # vim: syntax=dosini 

2 Solutions collect form web for “Есть ли способ узнать, когда будет запускаться системный таймер?”

Состояние активных активных таймеров можно показать с помощью systemctl list-timers :

 $ systemctl list-timers --all NEXT LEFT LAST PASSED UNIT ACTIVATES Wed 2016-12-14 08:06:15 CET 21h left Tue 2016-12-13 08:06:15 CET 2h 18min ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service 1 timers listed. 

Из комментария и ответа @phg я нашел страницу с ответом. Таймеры являются кумулятивными, и вам нужно сначала их сбросить, иначе предыдущая запись останется. Это полезно для календарей, но оно работает одинаково со всеми таймерами.

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

 # This file was auto-generated by snapmanager.cgi # Feel free to do additional modifications here as # snapmanager.cgi will be aware of them as expected. [Timer] OnUnitActiveSec= OnUnitActiveSec=30min 
  • systemd: Как выполнять задание как периодически, так и один раз при завершении работы системы?
  • Как настроить Systemd Timer для запуска службы в последний день месяца
  • systemd запустить блок на успех другого
  • Синхронизировать почту с помощью offlineimap через службу / таймер systemd; получение пароля из гнома
  • systemd: изящно сбой резервного копирования, когда внешний диск не подключен
  • Запуск пользовательского таймера systemd, когда у них нет открытого сеанса
  • Interesting Posts

    Изменить тип EAP по умолчанию в hostapd

    Как я могу создать файлы в каталоге, чтобы иметь inodes, назначенные для файлов с номерами последовательных индексов?

    как выключить другие компьютеры, используя свои IP-адреса в сценарии оболочки

    Подставка Sed с 3 линиями раздвижных окон

    Отключение видеовыхода по умолчанию с помощью xrandr при подключении внешнего монитора

    Крепление только для чтения ZFS на Linux + одновременное крепление для чтения и записи на Solaris

    Настройте локальную точку доступа Wi-Fi на компьютере

    Как найти разницу в конфигурации между двумя идентичными USB-устройствами для подключения USB-устройств?

    Если файл существует в каталоге, то …?

    Как предотвратить приостановление GNOME, пока я заканчиваю работу по компиляции

    Невозможно запустить evilvte (эмулятор терминала VTE) в качестве пользователя – кроме SSH

    Как я могу объяснить, почему процесс ждет?

    Как создать относительную символическую ссылку, которая работает на ПК

    Emacs X11 Forwarding не работает, но xclock делает

    Как удалить «блокировку» из удаленных, но все еще используемых файлов в Linux?

    Linux и Unix - лучшая ОС в мире.