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


Je suis conscient que je peux utiliser (sudo?) shutdown -h hh:mm dans une fenêtre de terminal pour arrêter un système, cependant l'utilisateur connecté est un utilisateur de kiosque qui est verrouillé de telle manière que le terminal (ou toute fenêtre autre que firefox) ne peut pas être ouvert.

Ma question est:
Est-il possible de le faire sans avoir une fenêtre de terminal ouverte? J'ai lu à propos de cron, mais je ne peux pas tout à fait y arriver.
Comment puis-je changer le temps de fermeture en fonction du jour?


11
2018-01-02 08:49


origine


Voulez-vous arrêter à 02h00? - αғsнιη
Non, désolé, c'était exactement ce qui était utilisé dans l'exemple que j'ai lu. Habituellement à 11h30, mais je me demandais s'il y avait un moyen de spécifier différents moments pour différents jours? - MrAxlee
Vous pouvez vous référer à l'URL pour un arrêt automatique. askubuntu.com/questions/19774/… - vembutech
@vembutech Cette question est pour la fermeture après un certain temps s'est écoulé - pas de fermeture à un certain temps - mais bien qu'il soit facile de l'adapter à mes besoins, je ne peux toujours pas exécuter d'autres fenêtres que firefox. Merci pour votre réponse cependant! Cela semble beaucoup plus simple que d'utiliser cron, et je vais probablement l'utiliser pour d'autres utilisations :) - MrAxlee
@MrAxlee ... Donc, vous voulez que le système s'arrête n heures après avoir allumé? - Kaz Wolfe


Réponses:


Cron travaillera très bien pour cela.

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

30 23 * * * root shutdown -h now

A 23h30 (23h30), le kiosque s'arrêtera. 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 ci-dessus sans le root).


Format Cron:

MM HH DD OO WW command

MM: Minute, 0-59
HH: Heure 24 heures
DD: Jour du mois
OO: Mois
WW: Jour de la semaine (dimanche est 0, lundi est 1)
command: Explicite


20
2018-01-02 09:25



@JacobVlijm Quand a-t-il été ajouté? Je ne le vois pas dans l'officiel Cron docs. - Kaz Wolfe
Je vais le chercher... - Jacob Vlijm
de crontab (5): Le format du système crontab, / etc / crontab inclut une colonne who qui n'existe pas dans l'utilisateur crontabs. Dans la crontab du système, cron exécute la commande en tant qu'utilisateur spécifié dans cette colonne. Dans une crontab utilisateur, toutes les commandes s'exécutent en tant qu'utilisateur qui a créé la crontab. - Jacob Vlijm
@JacobVlijm Merci! Actualisé. - Kaz Wolfe
@MrAxlee -s ne semble pas être "syntaxe correcte". -h des moyens pour arrêter ou arrêter le système (choix du système - arrêt préféré) - Kaz Wolfe


Un cronjob semble être le meilleur moyen 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 Shule de GNOME Tâches en utilisant

sudo apt-get install gnome-schedule

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

sinon vous devriez utiliser sudo crontab -e puis ajoutez les lignes suivantes

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

ceci 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 vérifier CronHowto


3
2018-01-02 09:27



Je devais utiliser spécifiquement /sbin/shutdown au lieu de shutdown car mon cron racine PATH était différent de celui du terminal, j'ai essayé mon script. - Jaakko


Nous pouvons arrêter automatiquement à l'heure spécifiée en exécutant simplement la commande sudo poweroff dans crontab.

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

sudo crontab -e

modifier

30 18 * * * sudo poweroff

2
2017-11-18 07:47



@mrm Il existe des méthodes alternatives, il pourrait y avoir beaucoup de solutions différentes à un problème particulier et les réponses. N'est-ce pas une réponse utile ou non? S'il vous plaît, je vous demande de ne pas céder à répondre ou de poser des questions si vous n'êtes pas clair à ce sujet. Lisez la question correctement et voyez si la réponse s'applique à cette question spécifique ou non. Si vous avez encore un dilemme, vous êtes libre de poser des questions. Demandez à Ubuntu Meta ou ici et ensuite prendre une décision. - d a i s y
Dans une ligne crontab, vous avez deux problèmes: poweroff ignore les scripts d’arrêt, qui peuvent être importants pour, par exemple, arrêter en toute sécurité votre base de données ou autre, et vous avez un sudo dans un crontab racine qui n'est pas nécessaire. Vous n'avez pas non plus abordé la manière de référencer différents jours de la semaine selon la question posée. Donc non, ce n'est pas une méthode alternative. Tel quel, ce sont deux erreurs et une omission. Les deux autres réponses faites un an avant la vôtre sont correctes et fonctionnent réellement. - mrm
@mrm J'utilise ce script depuis trois ans et je n'ai vu aucun problème. Et oui ça alternative et aussi corriger la méthode utile. Que est l'arrêt automatique à des heures spécifiées. Il y a un commande à l'arrêt et pour l'heure spécifiée automatiquement, nous pouvons utiliser crontab selon nos exigences. Ce serait mieux pour vous si vous posez une question différente concernant votre problème. - d a i s y