
Я пытаюсь запустить скрипт, вызывающий systemctl
из crontab, но команда не выполняется. Другие скрипты работают нормально из 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. Никакие другие пользователи не вошли в систему. Crontab настроен как
sudo crontab -e
- Окружение: Kali Linux (ядро re4son, sticky-fingers) на RPi 3B+
- Я прочитал этопохожая темано она также не решена.
Как я могу это исправить?