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 25/06/2015, à 16:42

Maestitia

[RESOLU] Cron & Update/Upgrade : Comment attester de son exécution ?

Bonjour à tous,

Je suis en train de tester le deamon cron afin de planifier certaines tâches récurrentes. Je me suis donc attaqué aux màj.
Pour se faire, j'édite le fichier avec crontab -e et j'ai tapé la ligne suivante :

# Auto Update&Upgrade tous les jours à 9:00
0 9 * * * sudo apt-get update && sudo apt-get upgrade -y > /home/moi/MAJ.txt

Mon but étant de rediriger le texte que l'on voit habituellement dans le terminal lors d'un sudo apt-get update && sudo apt-get upgrade -y, dans un fichier texte dans mon dossier perso'.
J'atteste que le terminal freeze lorsque la tâche s'exécute, mais hormis cela, j'aimerai avoir la preuve que les màj s'installent correctement.

Étant donné que la ligne du haut ne fonctionnait pas, j'ai essayé de rajouter un canal de sorti via la ligne suivante, mais aucun fichier MAJ.txt ne se créer dans le chemin spécifié. Ma syntaxe est sûrement en cause.

# Auto Update&Upgrade tous les jours à 9:00
0 9 * * * sudo apt-get update && sudo apt-get upgrade -y 1>/home/moi/MAJ.txt

Cela voudrait-il dire que mon update&upgrade ne fonctionnent pas du tout ?

Si vous pouviez éclairer ma lanterne, je vous en serai grès !
Merci.

Dernière modification par Maestitia (Le 25/06/2015, à 22:40)


Apprenti linuxien

Hors ligne

#2 Le 25/06/2015, à 17:16

nany

Re : [RESOLU] Cron & Update/Upgrade : Comment attester de son exécution ?

Bonjour,

cron n’est pas intelligent ; il ne sait pas donner ton mot de passe à sudo à ta place. Pour ce que tu voudrais faire, tu dois effectuer les régalges nécessaires dans ton sudoers.

Hors ligne

#3 Le 25/06/2015, à 17:23

Maestitia

Re : [RESOLU] Cron & Update/Upgrade : Comment attester de son exécution ?

Merci de ta réponse Nany !
Mais peux-tu me dire si ma première ligne de cmd dans mon cron était la bonne ? Si non, qu'est-ce que je dois modifier ?
Merci.


Apprenti linuxien

Hors ligne

#4 Le 25/06/2015, à 17:34

nany

Re : [RESOLU] Cron & Update/Upgrade : Comment attester de son exécution ?

Oui, la première commande devrait passer  (tout comme la seconde) après réglage du sudoers. wink

Hors ligne

#5 Le 25/06/2015, à 17:45

Maestitia

Re : [RESOLU] Cron & Update/Upgrade : Comment attester de son exécution ?

Je crois que j'ai fait une petite boulette big_smile
J'ai tapé la ligne suivante dans le fichier /etc/sudoers :

moi ALL = (root)  NOPASSWD:   apt-get update && apt-get upgrade -y

Mais désormais, j'ai ce message qui apparaît qui me dit que je me suis planté à la ligne 23 :

>>> /etc/sudoers: syntax error near line 33 <<<
sudo: parse error in /etc/sudoers near line 33
sudo: no valid sudoers sources found, quitting
sudo: impossible d'initialiser le greffon de règles

Du coup, plus possible de l'éditer sad

EDIT : J'ai perdu tous mes droits, je suis dans la mouise, help !

Dernière modification par Maestitia (Le 25/06/2015, à 17:49)


Apprenti linuxien

Hors ligne

#6 Le 25/06/2015, à 17:55

jplemoine

Re : [RESOLU] Cron & Update/Upgrade : Comment attester de son exécution ?

sans garantie car non testé (je ne suis pas sur mon poste)

pourquoi ne pas lancer la commande dans le cron de root et écrire le résultat dans /var/log et non pas le /home....?
ça me parait plus simple...
faire un

sudo crontab-e 

et mettre la ligne

0 9 * * * apt-get update && sudo apt-get -y upgrade  > /var/log/update_upgrade.log 2>&1

remarque :
- il est possible de mettre dist-upgrade au lieu de upgrade si on veut toutes les mises à jour
- l'ajout de 2>&1 de rediriger aussi les erreurs dans le même fichier. Mettre un fichier au lieu de &1 si on veut les erreurs à part.
ce qui peut donner :

0 9 * * * apt-get update && sudo apt-get -y upgrade  > /var/log/update_upgrade.log 2> /var/log/update_upgrade.err 





Autre info : il me semble qu'il y a un outil apt-cron ou cron-apt qui fait ça tout seul mais je ne suis pas sûr...

Dernière modification par jplemoine (Le 27/06/2015, à 09:37)


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#7 Le 25/06/2015, à 18:26

Maestitia

Re : [RESOLU] Cron & Update/Upgrade : Comment attester de son exécution ?

Impossible de modifier les paramètres dans sudoers, je n'ai plus accès à rien.
J'ai tenté un sudo -su pour passer en admin, mais il me demande un mdp que je ne connais pas, alors je suis passé en recovery mode.
Idem, il me demande un mdp que je n'ai pas , je suis vraiment bloqué et ça ne me tente pas trop de réinstaller ubuntu...

On aurai pu m'avertir qu'il était dangereux pour un débutant d'aller jouer dans le sudoers, maintenant, je suis complètement sans issue.
Un gros coup de pouce s'impose s'il vous plait...


Apprenti linuxien

Hors ligne

#8 Le 25/06/2015, à 20:34

nany

Re : [RESOLU] Cron & Update/Upgrade : Comment attester de son exécution ?

Maestitia a écrit :

Impossible de modifier les paramètres dans sudoers, je n'ai plus accès à rien.
J'ai tenté un sudo -su pour passer en admin, mais il me demande un mdp que je ne connais pas, alors je suis passé en recovery mode.
Idem, il me demande un mdp que je n'ai pas[…]

Euh… Ce ne serait pas ton propre mot de passe qui t’est demandé ?
Pour le mode recovery, il me semble que ce soit effectivement la solution. Mais comme je n’utilise ce mode que tous les 36 du mois, je ne puis te dire si, effectivement, un mot de passe est demandé.
N’aurais-tu pas activé root par hasard ?

En tout état de cause, si tu arrives à accéder à ton sudoers, remplace

moi ALL = (root)  NOPASSWD:   apt-get update && apt-get upgrade -y

par

moi ALL = NOPASSWD:   /usr/bin/apt-get

comme d’après les recommandations du chapitre 2.1 de la page de doc.



jplemoine a écrit :

[…]
Autre info : il me semble qu'il y a un outil apt-cron ou cron-apt qui fait ça tout seul mais je ne suis pas sûr...

Oui, anacron se charge de faire l’update et d’envoyer, si besoin est, l’interface graphique pour l’upgrade.
Le but étant de tester la redirection dans cron, je ne me suis guère soucié de la commande utilisée. Mais si Maestitia avait dès le départ signaler ses maigres compétences (je suppose d’emblée les compétences comme suffisantes quand on commence à s’attaquer à cron, eh bien, il va falloir que je change ma vision des choses et que je me méfie davantage à présent), j’aurais effectivement conseillé de commencer par un simple commande qui n‘a pas besoin de droits super-utilisateur. Mais bon, il n’y a quand même pas mort d’homme et c’est en forgeant qu’on devient forgeron.

Dernière modification par nany (Le 25/06/2015, à 21:01)

Hors ligne

#9 Le 25/06/2015, à 20:59

nany

Re : [RESOLU] Cron & Update/Upgrade : Comment attester de son exécution ?

nany a écrit :

Pour le mode recovery, il me semble que ce soit effectivement la solution.

Je n’y ai pas pensé avant mais il y a aussi la méthode du chroot depuis une session live.
Mais surtout, s’il y a la moindre chose que tu ne comprends pas dans la doc, n’hésite pas à poser des questions.

Hors ligne

#10 Le 25/06/2015, à 21:15

Gaara

Re : [RESOLU] Cron & Update/Upgrade : Comment attester de son exécution ?

Salut,

Au lieu d'utiliser cron et update/upgrade, tu peux utiliser unattended-upgrades, c'est un paquet spécialement étudié pour les mises à jour auto.
Un membre de la communauté fr, metalux pour ne pas le nommer, a réalisé un script pour aider à le configurer.
Tu peux voir tout ça ici: http://forum.ubuntu-fr.org/viewtopic.php?id=879781

Je m'en sert depuis longtemps, ça fonctionne très bien, même en 15.04. Tu peux être prévenu par mail des paquets mis à jour, ou seulement si une erreur est survenue.
Bref, il y a plein d'options.
J'ai d'ailleurs réalisé une notification de maj en complément, histoire de voir en direct ce qui s'installe, avec un pourcentage. Mais c'est facultatif smile

Voilà !


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#11 Le 25/06/2015, à 22:39

Maestitia

Re : [RESOLU] Cron & Update/Upgrade : Comment attester de son exécution ?

nany a écrit :
jplemoine a écrit :

[…]
Autre info : il me semble qu'il y a un outil apt-cron ou cron-apt qui fait ça tout seul mais je ne suis pas sûr...

Oui, anacron se charge de faire l’update et d’envoyer, si besoin est, l’interface graphique pour l’upgrade.
Le but étant de tester la redirection dans cron, je ne me suis guère soucié de la commande utilisée. Mais si Maestitia avait dès le départ signaler ses maigres compétences (je suppose d’emblée les compétences comme suffisantes quand on commence à s’attaquer à cron, eh bien, il va falloir que je change ma vision des choses et que je me méfie davantage à présent), j’aurais effectivement conseillé de commencer par un simple commande qui n‘a pas besoin de droits super-utilisateur. Mais bon, il n’y a quand même pas mort d’homme et c’est en forgeant qu’on devient forgeron.

Voici l'exemple typique ! Et juste pour moi en plus, quelle veine !

J'ai précisé dans mon tout premier poste que je testais l’outil cron, de plus dans ma signature j'ai inscrit apprenti j'ai donc j'ai signalé dès le départ mes maigres compétences.
Pour toi ce n'est pas la mort, Ô être supérieur incarné parmi la plèbe profane, mais pour le débutant moyen, c'est l'Armageddon : pas moyen d'accéder au droits sudo sur le compte principal et impossibilité de trouver le mdp root.

Mais tu as raison, c'est en forgeant que l'on devient forgeron, mais il serait bon de te rappeler que le foum ubuntu-fr a aussi pour but l'apprentissage et la pédagogie. Ça te dit quelque chose ?

Vous voyez, ça fait plusieurs fois que je lis ici et là que les gens ne sont pas assez réceptifs au monde du libre et de tout ce qui gravite autour de la sphère linux. Beaucoup de gens pointent du doigts la complexité du système ou le refus de simplement vouloir changer ses bonnes vieilles habitudes, mais le fond du problème est tout autre.
Les gens ont besoin de mentors et d'éducateurs afin de leur enseigner le système et la logique déroutante de Linux pour un novice.

Malheureusement, la majorité des gens d'expériences qui se portent volontaires (à se demander si ils le sont vraiment) sont souvent des élitistes aigris qui répugnent à transmettre leurs savoir-faire et je parle bien de savoir-faire et non de connaissance car nous sommes peut-être maigrement intelligents, mais nous connaissons tous Google, or chercher de l'info' pour de l'info' c'est le plus débile des conseils qu'un enseignant puisse donner à ses élèves.

Pour clore définitivement mon poste et mon HS, je tenais juste à signaler que pour une nounou tu es bien trop condescendante pour pouvoir te targuer de nourrir quoique se soit hormis le fossé qui existe déjà entre les gens qui sont en bas de la pyramide et ceux qui se pensent au sommet, car même sur le plus haut trône du monde, on n'est jamais assis que sur son cul.


Merci à tous ceux qui m'ont aiguillé par la suite, bonne continuation à vous. Je retourne croner dans mon coin big_smile


Pour régler mon soucis j'ai du éditer mon grub et remplacer la ligne du kernel :

root=UUID=ro quiet splash

Par :

rw init=/bin/bash

Une fois en root\(none) j'ai pu éditer un nouveau mdp et rebooter :

# passwd root
# sync
# reboot -f

Apprenti linuxien

Hors ligne

#12 Le 25/06/2015, à 23:11

nany

Re : [RESOLU] Cron & Update/Upgrade : Comment attester de son exécution ?

Si tu avais souligné ma parenthèse, tu aurais pu constaté que je faisais mon mea culpa. Et je ne lis pas systématiquement toutes les signatures des gens qui postent (pour info, il est possible de les masquer dans son profil).
Tu peux noter également que je suis revenu à la charge pour te signaler une autre solution possible par le chroot. Et non, je n’aurai pas lacher l’affaire aussi facilement, surtout si je suis à l’origine du problème. wink
En tout cas, tu as eu une fin heureuse et c’est le principal. smile

Dernière modification par nany (Le 25/06/2015, à 23:24)

Hors ligne

#13 Le 27/06/2015, à 08:10

tiramiseb

Re : [RESOLU] Cron & Update/Upgrade : Comment attester de son exécution ?

Salut,

Deux précisions :
1/ pour les tâches système, il est préférable d'utiliser les crons système (/etc/crontab, /etc/cron.d, etc.) plutôt que les crons utilisateurs (du coup il n'y aurait pas besoin de sudo)
2/ pour automatiser apt, tu peux utiliser cron-apt, qui n'est pas magique mais qui aide à mettre en place ce genre de jobs

Hors ligne

#14 Le 29/06/2015, à 18:22

Maestitia

Re : [RESOLU] Cron & Update/Upgrade : Comment attester de son exécution ?

tiramiseb a écrit :

1/ pour les tâches système, il est préférable d'utiliser les crons système (/etc/crontab, /etc/cron.d, etc.) plutôt que les crons utilisateurs (du coup il n'y aurait pas besoin de sudo)

C'est ce que j'ai fait par la suite et désormais ça fonctionne correctement. Fallait-il encore le savoir !
Merci.


Apprenti linuxien

Hors ligne

#15 Le 29/06/2015, à 19:00

Rufus T. Firefly

Re : [RESOLU] Cron & Update/Upgrade : Comment attester de son exécution ?

Salut,

A tout hasard, pour éditer sudoers :

sudo visudo

Il me semble que ça vérifie la syntaxe avant d'enregistrer...


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne