Komende dinsdag rond 19u gaat LinuxOntdekt.Be een uurtje offline, helaas, een noodzakelijk kwaad. In het datacentrum wordt gewerkt aan de stroomvoorziening waarvoor de stroom voor een uurtje van alle servers wordt gehaald.
Nu, daarom is het natuurlijk aangeraden om de server handmatig een shutdown te geven zodat hij niet plots zonder stroom komt te zitten met de kans op dataverlies door het niet zorgvuldig afsluiten als gevolg. Ik dacht dus om de server automatisch af te laten sluiten met een cronjob. Ik log in op een test-server, wordt root en roep de crontab’s op. Als commando gaf ik mee “shutdown -h now”. De minuten gingen voorbij, maar de server sloot niet af. Vreemd, ik was toch root?
Na wat te googlen kwam ik tot de vaststelling dat er “sudo” moest voor staan. Hier volgt een voorbeeld (Ubuntu) om een server iedere avond om 23:30u af te sluiten d.m.v. een crontab:
sudo crontab -e
30 23 * * * sudo shutdown -h now
Als je het shutdown commando als root uitvoert, is er geen reden om deze door sudo te laten voorafgaan.
Als jet die in een user cron job uitvoert sal dat wel nodig zijn, maar dan enkel indien sudo geen paswoord komt vragen.
Ik denk dat er nog iets gemist wordt in je verhaal. In welke cron job voerde je dit juist uit en waar configueerde je het?
Hoi Serge,
Het wordt wel degelijk als root uitgevoerd (sudo crontab -e).
In het verleden heb ik dit nogal voorgehad, maar nooit verder naar gezocht hoe het kwam dat de cron niet uitgevoerd werd. Probeer het maar eens.
Het wordt dus in crontab -e uitgevoerd, niet de dagelijkse of uurlijkse of eender
Kris