
Projet Maj scipt
Compétences acquises
Dans le cadre du projet Automatisation de Maj/Chek-up de serveur LINUX (Scipt Bash)
- Mettre à disposition des utilisateurs un service informatique
- Réaliser les tests d’intégration et d’acceptation d’un service
- Déployer un service
Peu de temps après le début les cours, j’ai obtenu ‘‘mon’’ Park serveur. En effet, Mon tuteur a décidé de me « donner » certaines machines pour que je m’en occupe au niveau des mises à jour. Ainsi, à chaque début de semaine en entreprise, je passais une journée à faire la mise à jour des serveurs. Après plusieurs semaines en entreprise, je m’étais fait une remarque. Si je passe deux journées par mois à faire des mises à jour, en deux ans, je perds un mois, deux semaines et quatre jours à faire des mises à jour. C’est à partir de ce constat que m’est venue l’idée de faire un script de mises à jour automatiques qui répondent aux mêmes exigences que celui qui s’effectue manuellement à savoir : mettre à jour et afficher ce qui a été mis à jour.
A partir de là, plusieurs solutions se présentèrent à moi : mettre le script goupdate.sh dans un crontab et puis chercher manuellement ce qui a été mis jour. Cette solution n’était pas intéressante car on devait se connecter sur chaque serveur pour prendre ce qui a été mis à jour. Ensuite, je me suis demandé comment faire pour que je reçoive un compte rendu de ce qui a été mis à jour. C’est alors que Eric me parla de postfix. Un service qui sert à envoyer des mails. A partir de là, tout s’est accéléré. Eric m’a demandé de créer une VM pour pouvoir tester la Alpha de mon script et les installations nécessaires. J’ai d’abord installé et configuré postfix : apt–getinstall postfix sasl2-bin. Après quelques dizaines de tuto pour envoyer un mail depuis un serveur, j’avais réussi à envoyer un mail depuis ma VM vers mon mail professionnel grâce à la commande suivante et vous verrez ce que j’ai reçu


Comme le script fonctionnait, j’ai eu l’autorisation de le mettre sur un serveur. Le script a connu beaucoup de modifications pour être le plus efficace possible. Mais ce qui a posé le plus grand problème, c’était la configuration postfix. En effet, on a eu la mauvaise surprise de voir que les serveurs étaient en liste noire du prestataire de mail car un des scripts présents sur les serveurs créait des milliers de mail. C’est donc ici que commença un combat acharné pour trouver comment réussir à faire marcher mon script. Et après avoir mis entre autres tous les serveurs dans la white liste et après avoir changé les valeurs dans les fichiers de configuration, on arrivait enfin à voir le bout du tunnel grâce à cette ligne :

Voici la commande
Et son descriptif
Et voilà à quoi ressemble le script final :

Le script entier
- Pour expliquer, la deuxième ligne recherche les mises à jour disponibles et met la réponse dans un fichier nommé rep1.
- Les lignes « sleep 50 » signifient que le script attend 50 secondes avant de passer à l’étape suivante.
- La 4e ligne installe les mises à jour identifiées avec et met la réponse dans un fichier nommé rep2.
- La 6e ligne va chercher dans les logs les lignes où il y a les termes « status installe » et va tout mettre dans un fichier rep3.
- La ligne 8, qui est très importante, prend les fichiers rep1/2 et 3 et les fusionnent pour créer un seul fichier rep4.
- Enfin la dernière ligne envoie le fichier rep4 à saifeddine.kilani@iptwins.com.
Il ne manquais plus que la derrière pierre de l’édifice, le fichier Crontab:
Crontab est un outil de planification de tâches dans les systèmes Unix/Linux. Il permet d’exécuter des commandes automatiquement à des moments précis. Chaque utilisateur peut avoir son propre fichier crontab. La syntaxe de crontab spécifie la fréquence d’exécution et la commande à exécuter. Il est utile pour automatiser des tâches régulières, telles que des sauvegardes de fichiers ou des nettoyages de répertoires.
Ainsi, voici ce fichier avec la ligne qui permet l’automatisation :
