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

最初の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)
  • 私はこれを読んだ同様のスレッドしかし、それも解決されませんでした。

この問題をどのように解決できますか?

ベストアンサー1

おすすめ記事