
Estou tentando executar um script chamando systemctl
do crontab mas o comando não está sendo executado. Outros scripts funcionam bem no crontab. O script funciona quando executado em um terminal.
Este é o roteiro:
#!/bin/bash
date &>> ~/Desktop/logs/resiliostatus.txt
systemctl --user status resilio-sync | sed -ne '1,3p' &>> ~/Desktop/logs/resiliostatus.txt
exit 0
Esta é a saída do meu arquivo de log:
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
A primeira entrada é como deveria ser quando chamada do terminal. Mas como você pode ver as chamadas do crontab apenas são executadas date
e nãosystemctl
Esta é a aparência do 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
Os três primeiros scripts funcionam bem, o último não. O erro que salvo em /tmp/error:Failed to connect to bus: No such file or directory
- Estou logado como root. Nenhum outro usuário está logado. O Crontab está configurado como
sudo crontab -e
- Ambiente: Kali Linux (kernel re4son, sticky-fingers) em RPi 3B+
- eu li issotópico semelhantemas também não está resolvido.
Como posso consertar isso?