Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/12/2021, à 18:59

greenhel

crontab -e planninfication d'extinction de l'ordinateur inopérant

Bonjour,

Je souhaite approfondir mes connaissances d'unix mais je reste encore un débutant.

Après avoir fait mes recherches et essayés diverses commandes je n'ai pas connu le succès escompter.

Je souhaite planninfier via crontab -e l'extinction de mon ordinateur. Malheureusement toutes les opérations que j'ai réalisé se sont soldé par un echecs et je n'arrive pas à trouver mon erreur. Pouvez vous m'éclairé ?

La commande shutdown-h now fonctionne.
L['opération à également été réalisé dans une VM.

#1 la classique que j'ai retrouver sur pas mal de sites

30 22 * * * shutdown -h now

#2 en pointant sur sbin

30 22 * * * /usr/sbin/shutdown -h now

#3 en pointant sur sbin mais avec root

30 22 * * * root /usr/sbin/shutdown -h now

#4 en pointant sur sbin mais avec mika

30 22 * * * mika /usr/sbin/shutdown -h now

#5 en pointant sur etc/cron.d mais avec mika

30 22 * * * mika /etc/cron.d/shutdown -h now

#6 en pointant sur etc/cron.d  mais avec root

30 22 * * * root /etc/cron.d/shutdown -h now

#7 en pointant sur etc/cron.d

30 22 * * * /etc/cron.d/shutdown -h now

#8 la dernière comme indiquer ci-après

0 22 * * * root shutdown -h now /usr/sbin/shutdown

#9 la dernière comme indiquer ci-après légèrement modifié

 30 22 * * * root shutdown -h now /usr/sbin/shutdown -h now

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
17 *    * * *    root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#


Il y en à pas mal pourtant je n'y suis pas arrivé et je ne comprend pas pourquoi

Merci

Dernière modification par greenhel (Le 15/12/2021, à 19:14)

Hors ligne

#2 Le 15/12/2021, à 22:10

iznobe

Re : crontab -e planninfication d'extinction de l'ordinateur inopérant

Bonsoir , tu ne fais pas ca dans le bon fichier , du coup il te manque un champ et forcement ca ne marche pas ...

la commande pour editer crontab est :

crontab -e # SANS SUDO

ensuite tu met le code et ca devrait marcher .

Dernière modification par iznobe (Le 15/12/2021, à 22:11)


retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#3 Le 15/12/2021, à 23:27

greenhel

Re : crontab -e planninfication d'extinction de l'ordinateur inopérant

Bonsoir,

J'ai bien éditer

crontab -e

dans le terminal puis j'ai choisi l'éditeur nano

dans nano j'ai mis 22 20 * * * shutdown -h now puis j'ai validé l'opération en faisant Ctrl + X suivi de Y et la touche Entrée.

Je n'étais pas en sudo lors de l'éxécution dans le terminal.

Merci

Hors ligne

#4 Le 15/12/2021, à 23:27

Nuliel

Re : crontab -e planninfication d'extinction de l'ordinateur inopérant

Bonjour,
Certaines tentatives ne peuvent pas marcher, en particulier celles basées sur /etc/cron.d/shutdown: /etc c'est pour les fichiers de conf, la commande shutdown se trouve bien à /usr/sbin/shutdown
il me semble que shutdown demande d'être root pour éteindre la machine (il existe des commandes ne nécessitant pas d'être root pour éteindre la machine, c'est quand même mieux)
crontab -e sans sudo permet d'éditer le crontab de l'utilisateur courant, avec sudo tu modifies le crontab de root.

Hors ligne

#5 Le 15/12/2021, à 23:34

iznobe

Re : crontab -e planninfication d'extinction de l'ordinateur inopérant

voici ce que donne chez moi la  commande

cat /etc/crontab
iznobe@iznobe-PC:~$ cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
#17 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
#25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
#47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
#52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
iznobe@iznobe-PC:~$

comme ce fichier est dans le dossier /etc , il est impossible de l' editer sans mettre sudo devant ...

dans ce fichier , on voit qu ' il faut 6 parametres meme 7 en fait :
*  *  *  *  * user-name       command to be executed
chaque etoile represente un parametre de temps , le user-name et la commande a executer .



Alors que le bon fichier se presente comme ceci :

# Edit this file to introduce tasks to be run by cron.
# 
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
# 
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
# 
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
# 
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
# 
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
# 
# For more information see the manual pages of crontab(5) and cron(8)
# 
# m h  dom mon dow   command

et qu ' il n y ' a que 6 parametres contrairement au precedent . ( pas de username ) .

Dernière modification par iznobe (Le 15/12/2021, à 23:40)


retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#6 Le 15/12/2021, à 23:35

Nuliel

Re : crontab -e planninfication d'extinction de l'ordinateur inopérant

crontab c'est fait exprès pour ajouter ou supprimer des tâches cron, touchez pas à /etc/crontab vous allez casser cron

Hors ligne

#7 Le 16/12/2021, à 00:26

greenhel

Re : crontab -e planninfication d'extinction de l'ordinateur inopérant

En me disant que j'avais peu etre fait des dégat sur le système j'ai édité dans une VM sous Xubuntu
la commande crontab -e
puis dans nano 20 23 * * * shutdown -h now résultats rien
alors j'ai fait celle-ci 20 23 * * * mika shutdown -h now résultats rien

je ne comprend toujours pas mon erreur. désolé pouvez vous précisé la solution.

merci

Hors ligne

#8 Le 16/12/2021, à 00:50

MicP

Re : crontab -e planninfication d'extinction de l'ordinateur inopérant

Bonjour

Impossible de savoir ce qu'il se passe, puisqu'on n'a pas de retour utilisable des commandes

Ce qui fait qu'il nous est impossible de savoir :
- quelle était exactement la ligne de commande entrée
- depuis quel compte utilisateur la ligne de commande a été entrée
- est-ce que le compte utilisateur était un compte privilégié ou non
- quel était le répertoire courant lors du lancement de la ligne de commande
- est-ce que le retour de commande était complet ou tronqué
- quel était le compte utilisateur après l'exécution de la ligne de commande
- est-ce que le répertoire courant n'a pas changé suite à l'exécution de la ligne de commande
- est-ce que le nom du compte utilisateur n'a pas changé suite à l'exécution de la ligne de commande.

Bien sûr, on pourrait poser toutes ces questions à chaque fois que quelqu'un demande de l'aide
mais il est fort possible que les demandeurs ne sachent pas tous donner une réponse précise à chacune de ces questions
alors qu'il aurait suffit de nous transmettre un simple retour utilisable des commandes pour que l'on puisse trouver la réponse à chacune des questions énumérées ci-dessus.

=======
Pour que le système Ubuntu s'arrête à 22:30 tous les jours et que la machine s'arrête ensuite
il faut éditer la crontab du compte super-utilisateur root
et donc, utiliser les privilèges du compte root

Il faudra donc utiliser la commande sudo ce qui ne pourra être fait que depuis un compte utilisateur
dont le compte est dans la liste des utilisateurs du groupe sudo

Sous Ubuntu, ce type de compte utilisateur qui est dans la liste du groupe sudo est aussi appelé un compte administrateur
et ce compte utilisateur administrateur pourra entrer la ligne de commandes suivante :

sudo crontab -e

pour ensuite, dans la fenêtre d'édition de la crontab du compte root
ajouter la ligne suivante :

30 22 * * * /usr/sbin/shutdown -h

Dernière modification par MicP (Le 16/12/2021, à 09:51)

Hors ligne

#9 Le 16/12/2021, à 15:55

greenhel

Re : crontab -e planninfication d'extinction de l'ordinateur inopérant

Merci à tous,

MicP m'a données les éléments qui m'on permis de comprendre d'ou provenait mon erreur principal.

la solution était la suivante:

Il fallait simplement que j'édite la commande en tant que sudo

sudo crontab -e

et que j'entre les éléments voulu comme suggèré par MicP

30 22 * * * /usr/sbin/shutdown h h now

Mon erreur est que je rentrés les commandes en tant que mika et ca ne suffissait pas.

Meme si mon problème est résolu je me pose quand meme la question suivantes.
Pourquoi en tant qu'utilisateur mika avec les droits sudo l'opération n'à pas fonctionné et que je soit obligé de passé en sudo ?

Merci pour vos réponses et votre réactivité.

Hors ligne

#10 Le 16/12/2021, à 21:08

MicP

Re : crontab -e planninfication d'extinction de l'ordinateur inopérant

Le titre de ce fil de discussion concernait crontab et j'ai répondu en conséquence, …

…mais il aurait peut-être été plus simple de
spécifier l'heure d'arrêt souhaitée directement à la commande shutdown

shutdown 22:30

Ce qui aurait donné, sur ta machine :

mika@mika-Aspire-E3-112:~$ shutdown 22:30
Shutdown scheduled for Thu 2021-12-16 22:30:00 CET, use 'shutdown -c' to cancel.
mika@mika-Aspire-E3-112:~$

Dernière modification par MicP (Le 16/12/2021, à 21:10)

Hors ligne

#11 Le 16/12/2021, à 22:02

Tawal

Re : crontab -e planninfication d'extinction de l'ordinateur inopérant

Hello,

Bien vu MicP.
Et cette commande ouvre tout un champ de possibilités pour automatiser l'arrêt :
     - crontab, démarrage session, service systemd ...

Dernière modification par Tawal (Le 16/12/2021, à 22:04)


Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne