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

  • 저는 루트로 로그인했습니다. 다른 사용자는 로그인되어 있지 않습니다. Crontab은 다음과 같이 구성됩니다.sudo crontab -e
  • 환경: RPi 3B+의 Kali Linux(re4son 커널, Sticky Fingers)
  • 나는 이것을 읽었다유사한 스레드하지만 그것도 해결되지 않았습니다.

이 문제를 어떻게 해결할 수 있나요?

관련 정보