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 身分登入。沒有其他使用者登入。sudo crontab -e
  • 環境:RPi 3B+ 上的 Kali Linux(re4son 核心、黏性手指)
  • 我讀了這個類似的線程但這也尚未解決。

我怎樣才能解決這個問題?

相關內容