Upewnij się, że skrypt cron jest uruchomiony jako root i zastąp shutdown
go pełną ścieżką podaną przez:
command -v shutdown
W systemie Ubuntu GNU / Linux (i ogólnie GNU / Linux) powinno to być /sbin/shutdown
:
#!/bin/bash
/sbin/shutdown -h now
Pamiętaj, że dodanie pliku o nazwie podobnej /etc/cron.d/midnight-shutdown
i zawierającego:
59 23 * * * root test -x /sbin/shutdown && /sbin/shutdown -h now
powinieneś robić, co chcesz bez narzutu pełnego skryptu bash. Oto kod, aby szybko to zainstalować:
echo '59 23 * * * root test -x /sbin/shutdown && /sbin/shutdown -h now' \
| sudo tee '/etc/cron.d/midnight-shutdow'
sudo service cron reload
EDYCJA: Aby odpowiedzieć na Twój komentarz, inną możliwością ustawienia jest:
echo '59 23 * * * test -x /sbin/shutdown && /sbin/shutdown -h now' \
| sudo tee '/etc/cron.d/midnight-shutdow'
sudo service cron reload
To dziwne, że cron wydrukował ci ten komunikat o błędzie.
Możemy również użyć polecenia „sudo halt”, aby wyłączyć serwer Ubuntu.
źródło