web-dev-qa-db-fra.com

Arrêt automatique à des heures spécifiées?

Je sais que je peux utiliser (sudo?) shutdown -h hh:mm dans une fenêtre de terminal pour arrêter un système. Toutefois, l'utilisateur connecté est un utilisateur de kiosque, verrouillé de telle sorte que le terminal (ou toute fenêtre autre que Firefox, d'ailleurs) ne peut pas être ouvert.

Ma question est:
Existe-t-il un moyen de le faire sans ouvrir une fenêtre de terminal? J'ai lu sur cron, mais je n'arrive pas à comprendre.
Comment puis-je modifier l’heure de fermeture en fonction de la journée?

13
MrAxlee

Cron travaillera très bien pour cela.

Ajoutez la ligne ci-dessous (avec des ajustements) à la fin de /etc/crontab:

30 23 * * * root shutdown -h now

À 23h30, le kiosque sera fermé. Quel que soit l'utilisateur connecté, la commande shutdown s'exécute en tant que root.

(Si vous ne souhaitez pas utiliser la crontab globale, connectez-vous en tant que root et utilisez crontab -e. Utilisez la même syntaxe que ci-dessus sans root).


Format Cron:

MM HH DD OO WW command

MM: minute, 0-59
HH: heure de 24 heures
DD: Jour du mois
OO: Mois
WW: Jour de la semaine (le dimanche est 0, le lundi est 1)
command: Cela se passe d'explication

23
Kaz Wolfe

Une tâche cron semble être la meilleure solution car vous pouvez spécifier des heures différentes pour des jours différents. Sur les systèmes basés sur Gnome, vous pouvez simplement installer GNOME Shedule Tâches en utilisant

Sudo apt-get install gnome-schedule

puis configurez le travail cron à l'aide de l'interface graphique.

sinon, vous devrez utiliser Sudo crontab -e puis ajouter les lignes suivantes

30 11 * * 1-5 /sbin/shutdown -h now
30 10 * * 0,6 /sbin/shutdown -h now

cela arrêterait le PC à 11h30 du lundi au vendredi et à 10h30 le samedi et le dimanche. La structure est très simple:

minute (0-59), hour (0-23, 0 = midnight), day (1-31), month (1-12), weekday (0-6, 0 = Sunday), command 

Pour plus d'informations à ce sujet, vous pouvez également consulter CronHowto

4

Nous pouvons nous éteindre automatiquement à une heure précise en exécutant simplement la commande Sudo poweroff dans crontab.

Si vous souhaitez arrêter le système à 18h30 tous les jours. Tapez le terminal:

Sudo crontab -e

modifier

30 18 * * * poweroff
2
d a i s y