Portál AbcLinuxu, 5. května 2025 23:21
root@debian-netbook:/home/bada# ps -A | grep cron 457 ? 00:00:00 cron
root@debian-netbook:/home/bada# crontab -l
... # # m h dom mon dow command 01 18 * * * shutdown -rmi nefunguje a nějak nedokážu najít kombinaci která by mi fungovala :-/ distro je aktuální debian stable prosím o nasměrování :-/
Řešení dotazu:
shutdown
, protože při běhu cronu nemusí být nastavena proměnná PATH
jak čekáte.
Nov 26 18:37:01 debian-netbook cron[455]: (root) RELOAD (crontabs/root) Nov 26 18:37:01 debian-netbook CRON[2135]: (root) CMD (/usr/sbin/shutdown -r)jestli dobře koukám, tak cron proběhne, příkaz sám o sobě funuje. pod cronem ne
shutdown
jako v Ubuntu, ale ten v Ubuntu použije čas „+1“ (1 minuta), když nezadáte čas provedení. Pak je možné příkaz pomocí shutdown -c
přerušit. Je možné, že k tomu ve vašem případě z nějakého důvodu dojde. Také bych ověřil, jaký návratový kód vlastně shutdown
vrací, zda se opravdu provede úspěšně. Dejte si do toho cronu raději nějaký svůj skript, ve kterém ten shutdown
zavoláte, přesměrujete si jeho výstup do souboru a zapíšete si i ten návratový kód.
if ( $_GET["akce"] == "Vypnout PC HNED" ) $output=exec("/usr/bin/sudo /sbin/shutdown -h +1 2>&1");Samozřejmě mám sudo nastavené aby nechtělo heslo. Asi by tam měl být přidán čas vypnutí takže tam +1 přidej uvidíš co to udělá....
shutdown -r now
shutdown
? Když ho necháte provést hned a ne až za minutu, tak funguje?
nefunguje nikdy - ani hned, ani po pauzeTo znamená, že reboot neproběhne ani v případě, kdy z cronu spustíte
shutdown -r now
? Pokud na tom počítači používáte systemd
, použil bych k restartu jeho příkaz systemctl reboot
. Když se mu budete pokoušet systém restartovat pod rukama, nemusí to dopadnout dobře (nebo vůbec).
Nemyslím si, že by byl problém v cronu nebo jádru. Spíš tam bude něco jako SElinux, systemd nebo něco takového a se shutdown -r
buď neprovede, nebo dojde k jeho přerušení, protože prostředí, ve kterém je spuštěn příkaz z cronu je jiné, než když to spustíte jako přihlášený uživatel.
echo 123
by vám normálně mělo poslat e-mail, ale musíte to mít správně nakonfigurované. Spíš si nechte něco zapsat do souboru. Je to divné, že by cron nic nespouštěl, v logu přece byl vidět výpis příkazu. Každopádně pokud by vám nefungoval ani ten zápis do souboru, zjistěte, zda vám cron
vůbec běží. A vyzkoušel bych také systémový cron
místo uživatelského (pozor na to, že má jiný formát, je tam navíc uživatel, pod kterým se má příkaz spustit).
root
.
Vlákno bylo přesunuto do samostatné diskuse.
# cat /etc/issue
Debian GNU/Linux 8 \n \l
# uname -a
Linux atom 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux
# crontab -l
40 8 * * * /sbin/shutdown -r
SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.