Portál AbcLinuxu, 7. května 2025 05:41
Řešení dotazu:
30 16 * * 1,2,3,4,5 dbus-send --print-reply --system --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.ShutdownV Ubuntu by to snad mohlo fungovat taky.
dbus-send --print-reply --system --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown
" a stisknutí Enteru by se měl počítač okamžitě začít vypínat. Jestli to bude fungovat, budeme moci pokračovat s crontabem.
dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
"?
Takže pokročíme ke crontabu. Ten se stará o spouštění příkazů v nastavený čas. "crontab -l
" vypíše nastavení pro aktuálního uživatele, "crontab -e
" umožní editaci. Pak stačí vložit ten řádek, který jsem uvedl v prvním příspěvku.
"30 16 * * 1,2,3,4,5
" znamená, že v 30 minut, 16 hodin, jakéhokoliv dne v měsíci, jakéhokoliv měsíce, od pondělí do pátku se příkaz spustí. Více v "man 5 crontab
".
Spusť si terminál a staň se rootem:
$ sudo bash
nebo:
$ su
Po zadání následujícího příkazu se Ti bude PC vypínat v 16:30.
# echo "30 16 * * * root poweroff" >/etc/cron.d/poweroff
Vysvětlení nalezneš v CronHowto.
# cat /var/log/syslog |grep -i cron # cat /etc/cron.d/poweroff
Příkaz poweroff se z cronu spustil, ale s chybou 127 tj. command not found
. Zadej tedy celou cestu k programu tj. /sbin/poweroff
.
Pokud Ti to ani po této úpravě nebude fungovat, opět pošli výpisy.
echo tvojeHeslo | sudo -S halt
echo tvojeHeslo | sudo -S shutdown -h 16:30
To je ukázka jak by se to v žádném případě dělat nemělo. Co si třeba přečíst dokumentaci k sudo NOPASSWD.
# vim /etc/sudoers ALL ALL=NOPASSWD: /sbin/poweroff, /sbin/shutdown, /sbin/reboot
Nyní může každý uživatel spouštět tři výše uvedené příkazy pomocí sudo bez zadání hesla.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.