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
最初の3つのスクリプトは正しく機能しますが、最後のスクリプトは機能しません。 /tmp/error に保存したエラー:Failed to connect to bus: No such file or directory
- 私はrootとしてログインしました。他のユーザーはログインしていません。 Crontabは次のように構成されています。
sudo crontab -e
- 環境:RPi 3B+のKali Linux(re4sonカーネル、Sticky Fingers)
- 私はこれを読んだ同様のスレッドしかし、それも解決されませんでした。
この問題をどのように解決できますか?