我想启动一个bash脚本,该脚本在特定时间启动AND后更新我的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
之后)...所以看来我的计时器文件是错误的。 ..