
我正在嘗試運行從 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 核心、黏性手指)
- 我讀了這個類似的線程但這也尚未解決。
我怎樣才能解決這個問題?