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からの呼び出しは実行のみでdatesystemctl

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)
  • 私はこれを読んだ類似スレッドしかし、これも未解決です。

これをどうすれば修正できますか?

関連情報