Я хочу запустить скрипт bash, который обновляет мою систему Ubuntu после загрузки И в определенное время. Сам скрипт отлично работает. Однако, когда я пытаюсь использовать systemd для запуска скрипта в фоновом режиме ... ничего не происходит.
Сначала я создал файл в /etc/systemd/system/myupdate.service
. Файл содержит:
[Unit]
Description=MyUpdate Programm
[Service]
ExecStart=/usr/bin/upgrade.sh
[Install]
WantedBy=multi-user.target
Затем я создал соответствующий файл /etc/systemd/system/myupdate.timer
[Unit]
Description=update-timer
[Timer]
OnBootSec=10min
OnUnitInactiveSec=1d
OnCalendar=Wed 2018-*-* 18:22
AccuracySec=10s
[Install]
WantedBy=basic.target
Я печатаю journalctl -u myupdate -f
И tail /var/log/syslog -f
(в разных терминалах) после загрузки соотв. до времени, указанного в файле .timer, чтобы увидеть, запущен ли процесс обновления. Но ничего не происходит.
systemctl status myupdate
показывает:
myupdate.service - Example systemd service.
Loaded: loaded (/etc/systemd/system/myupdate.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Wed 2018-10-31 15:31:19 CET; 19min ago
Process: 1248 ExecStart=/usr/bin/upgrade.sh (code=exited, status=0/SUCCESS)
Main PID: 1248 (code=exited, status=0/SUCCESS)
Там написано enabled
, поэтому он должен работать в фоновом режиме.
Что я сделал не так?
PS .: Права я устанавливаю следующим образом: chmod 770 /usr/bin/upgrade.sh
и использую Ubuntu 18.04.
PPS .: Когда я набираю systemctl start myupdate
, я вижу процесс, запущенный на моем терминале (после того, как я набрал journalctl -u myupdate -f
на другом терминале) ... поэтому кажется, что мой файл таймера неверен ...