Предотвращение запуска таймера systemd при запуске

Я переношу свои кронабы на блоки таймера systemd. Все они выглядят примерно так:

.timer файл:

[Unit] Description=timer that uses myjob.service [Timer] OnCalendar=*-*-* *:00:00 Unit=myjob.service [Install] WantedBy=timers.target 

.service file:

 [Unit] Description=Script that runs myjob.sh [Service] ExecStart=/home/user/myjob.sh 

Мои таймеры работают, но они также выполняются при перезагрузке системы. Я хотел бы, чтобы мои события OnCalendar выполнялись только в указанное время, а не в любое случайное время, когда я перезагружаю компьютер. Есть идеи?


ОБНОВЛЕНИЕ: Я решил эту проблему, переведя свои «пользовательские» таймеры в корневые / системные таймеры.

  1. Я отключил все мои файлы .service и .timer и вывел их из своего домашнего каталога в / etc / systemd / system.

  2. Я добавил раздел «User =» в каждый служебный файл, так что мои скрипты запускались обычным пользователем, а не как root.

Теперь мои таймеры не запускаются при запуске системы, и у меня также возникали проблемы со спорадическим запуском при входе в систему через ssh. Теперь это также было решено, что они находятся под контролем учетной записи root, но запуск моих сценариев по-прежнему выполняется как PID обычного пользователя, который сохраняет атрибуты собственности моих файлов. Задача решена.

3 Solutions collect form web for “Предотвращение запуска таймера systemd при запуске”

Я решил эту проблему, переведя свои «пользовательские» таймеры в корневые / системные таймеры.

  1. Я отключил все мои файлы .service и .timer и вывел их из своего домашнего каталога в / etc / systemd / system.

  2. Я добавил раздел «User =» в каждый служебный файл, так что мои скрипты запускались обычным пользователем, а не как root.

Теперь мои таймеры не запускаются при запуске системы, и у меня также возникали проблемы со спорадическим запуском при входе в систему через ssh. Теперь это также было решено, что они находятся под контролем учетной записи root, но запуск моих сценариев по-прежнему выполняется как PID обычного пользователя, который сохраняет атрибуты собственности моих файлов. Задача решена.


ОП опубликовал это как редактирование вопроса, поэтому я воспроизвел его здесь.

В соответствии с документацией вы должны изменить свою конфигурацию на Persistent=false или удалить Persistent вообще, потому что она по умолчанию неверна.

У меня также была такая же проблема, и я не мог понять, почему единицы всегда будут запускаться при запуске, независимо от параметра Persistent в файле .timer, и мне потребовалось некоторое время, но я, наконец, нашел причину (указал в правильном направлении by @alexander комментарий Толкачева).

Проблема в том, что я всегда включал что-то вроде WantedBy=basic.target в разделе [Install] файла .service (потому что его часть стандартной пасты для копирования systemd). Оказывается, это фактически заставляет блок запускаться всякий раз, когда basic.target (aka system boot).

https://www.freedesktop.org/software/systemd/man/systemd.unit.html#WantedBy= https://www.freedesktop.org/software/systemd/man/systemd.special.html#basic.target

Я подозреваю, что OP непреднамеренно решила проблему, отключив старый .service (который вы должны сделать, чтобы удалить символическую ссылку, созданную WantedBy ), и либо опустить раздел [Install] при повторном написании, либо никогда не запускать systemctl enable .

TLDR; Вы не хотите раздел [Установить] в файле .service, который запускается файлом .timer.

  • Как настроить Systemd Timer для запуска службы в последний день месяца
  • Ошибка анализа на блоке таймера systemd. Неверная документация?
  • systemd запустить блок на успех другого
  • Таймер Systemd, срок действия которого истек
  • Каков правильный способ отключения блока таймера systemd?
  • Cron vs systemd таймеры
  • Interesting Posts

    Раскрасить имена файлов на основе состояния для git diff -name-status

    Как обновить повышение OpenSuse 11.4 для повышения версии 1.46?

    Есть ли способ обойти обычные установки и вручную установить (M1400 Motion Computing Tablet)

    Установка уровня яркости по умолчанию при запуске для всех уровней запуска

    Как получить byobu для запуска при запуске с выполненной командой, как root?

    SSH переадресация окна с Xming

    Grub работает, но не efistub

    Переименование нескольких файлов gzips и удаление более 10 дней

    Сохраняется ли эта угроза: кейлоггер Linux без привилегий root

    Сценарий оболочки для захвата одного или нескольких видео Wistia

    как использовать grub-uboot

    Будут ли эти команды возвращать один и тот же результат в разных дистрибутивах Linux?

    Почему псевдоним отличается от запуска команды bash?

    Почему входы / выходы с высоким диском уменьшают оперативность / производительность системы?

    Пунктирная линия сверху и снизу окна, когда требуется прокрутка окна

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