systemctl 在 crontab 中不起作用

systemctl 在 crontab 中不起作用

我正在尝试运行从 crontab 调用的脚本systemctl,但该命令没有被执行。其他脚本在 crontab 中工作正常。该脚本在终端中执行时有效。

这是脚本:

#!/bin/bash

date &>> ~/Desktop/logs/resiliostatus.txt
systemctl --user status resilio-sync | sed -ne '1,3p' &>> ~/Desktop/logs/resiliostatus.txt
exit 0

这是我的日志文件的输出:

Thu Jan 17 02:17:17 CET 2019
● resilio-sync.service - Resilio Sync service
   Loaded: loaded (/usr/lib/systemd/user/resilio-sync.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-01-17 01:01:55 CET; 1h 15min ago
Thu Jan 17 03:00:01 CET 2019
Thu Jan 17 04:00:01 CET 2019
Thu Jan 17 05:00:01 CET 2019

第一个条目是从终端调用时的样子。但正如你所看到的,来自 crontab 的调用只执行date而不执行systemctl

这是 crontab 的样子:

SHELL=/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/lib/systemd

# m h  dom mon dow   command

*/15 * * * * /root/Desktop/backupscripts/cputempscript
*/30 * * * * /root/Desktop/backupscripts/ipdnsscript
0 * * * * /root/Desktop/backupscripts/ntpscript
*/5 * * * * /root/Desktop/backupscripts/resiliostatscript 2> /tmp/error

前三个脚本工作正常,最后一个则不行。我保存到 /tmp/error 的错误:Failed to connect to bus: No such file or directory

  • 我以 root 身份登录。没有其他用户登录。Crontab 配置为sudo crontab -e
  • 环境:RPi 3B+ 上的 Kali Linux(re4son 内核、粘性手指)
  • 我读了这个类似的线程但这也尚未解决。

我怎样才能解决这个问题?

相关内容