Aller au contenu principal

Sur la machine srv-lin-01. Lire le ticket, agir dans le terminal, puis vérifier.

Ticket 5094, ouvert par Thomas Legrand, responsable informatique : la direction veut une revue régulière des comptes de srv-lin-01, pour repérer les mots de passe qui n'ont pas changé depuis longtemps et les comptes qui arrivent à expiration. Samir Ouali a écrit le script /opt/scripts/revue-comptes.sh, qui dépose son rapport dans /var/log/sevo/revue-comptes.txt. Lancé à la main, il fonctionne ; seulement, personne ne pense à le lancer.

Planifier ce script pour qu'il tourne à 3 h 15, du lundi au vendredi, et à aucun autre moment. Il lit les informations de mot de passe de tous les comptes, que seul root a le droit de lire. Les tâches de maintenance déjà planifiées sur le serveur doivent continuer de tourner.

Rappel

Ce que le chapitre fait sous Windows avec le Planificateur de tâches se fait ici avec cron : le service crond lit une table par compte, et lance chaque tâche à l'heure dite, avec les droits du compte dont c'est la table.

  • crontab -l affiche la table du compte courant, sudo crontab -l celle de root.
  • crontab -e ouvre la table dans nano ; sudo crontab -e ouvre celle de root. Passer par crontab plutôt que d'éditer à la main le fichier de /etc/crontabs : crontab prévient crond que la table a changé.
  • crontab fichier remplace la table entière par le contenu du fichier, et commande | crontab - par ce qu'affiche la commande : tout ce qui n'y figure pas disparaît de la table.
  • Une ligne s'écrit minute heure jour-du-mois mois jour-de-la-semaine commande. L'étoile laisse un champ libre, 1-5 est un intervalle, 1,3 une liste. Le dimanche porte le numéro 0 ; le crond de cette machine refuse le 7, que d'autres acceptent pour le dimanche. Les noms anglais des jours (mon, fri, sun) sont acceptés.

Boîte à outils

Un clic écrit la commande au curseur, sans la lancer.

Indications

Indication 2
Indication 3

Le ticket se prépare dès que la machine est prête.