Kennisbank › Windows Server › Automatisation Bash et Python sur le serveur : guide pratique
windows server gemiddeld 10 July 2026

Automatisation Bash et Python sur le serveur : guide pratique

Apprenez à combiner Bash et Python avec cron pour une automatisation puissante de vos serveurs. Exemples pratiques et bonnes pratiques pour développeurs et administrateurs systèmes.

L’automatisation est l’épine dorsale des processus modernes d’administration de serveurs. Que vous soyez un développeur cherchant à rationaliser des tâches ou un administrateur système voulant éliminer le travail répétitif, Bash et Python forment une combinaison puissante pour l’automatisation de serveurs. Dans cet article, nous explorons comment combiner ces outils avec des planificateurs comme cron pour une automatisation efficace et fiable.

Pourquoi Bash et Python pour l’automatisation de serveurs ?

Pour l’automatisation de serveurs, deux approches principales sont populaires :

  • Scripts Bash - Légers, idéaux pour la gestion des fichiers, le contrôle des processus et les tâches en ligne de commande
  • Scripts Python - Plus puissants pour la logique complexe, les interactions avec les API et le traitement des données

La combinaison des deux offre le meilleur des deux mondes. Bash pour les tâches système rapides, Python pour les opérations plus complexes - exécutés ensemble via cron pour une exécution planifiée.

Principes de base de cron : Planifier votre automatisation

Cron est le planificateur de tâches standard sur les systèmes Unix. Commandes importantes :

crontab -e Modifier votre fichier crontab
crontab -l Afficher les tâches planifiées

Une ligne crontab standard ressemble à ceci :

* /chemin/vers/script.sh

Où les astérisques représentent :

  • Minute (0-59)
  • Heure (0-23)
  • Jour du mois (1-31)
  • Mois (1-12)
  • Jour de la semaine (0-7, où 0 et 7 correspondent tous deux à dimanche)

Exemples pratiques d’automatisation avec Bash

1. Nettoyage automatique des fichiers journaux

Créez un script clean_logs.sh :

#!/bin/bash
find /var/log -name "*.log" -type f -mtime +30 -exec rm -f {} \;
echo "$(date): Logs plus anciens que 30 jours supprimés" >> /var/log/cleanup.log

Ajoutez-le à cron pour une exécution mensuelle :

0 0 1 /bin/bash /chemin/vers/clean_logs.sh

2. Création de sauvegardes automatiques

#!/bin/bash
tar -czf /backups/website_$(date +\%Y\%m\%d).tar.gz /var/www/html
find /backups -name "*.tar.gz" -mtime +14 -exec rm {} \;

Automatisation avec Python pour des tâches plus complexes

Là où Bash montre ses limites, Python excelle. Exemple : un script de surveillance qui vérifie une API et envoie une notification en cas de problème.

#!/usr/bin/env python3
import requests
import smtplib

Guide Pixzo

Guide Pixzo

Ce guide vous explique comment installer Pixzo sur votre serveur Linux. Pixzo est un petit outil de surveillance qui tourne avec Docker et systemd.

Prérequis

  • Un serveur avec Ubuntu 22.04 ou plus récent
  • Docker installé et démarré
  • Les droits root ou sudo

Étape 1 : Télécharger l'image

Commencez par récupérer l'image officielle depuis le registre :

docker pull pixzo/pixzo:latest

Étape 2 : Créer le fichier de configuration

Créez un répertoire pour la configuration, puis un fichier config.yml :

mkdir -p /etc/pixzo
nano /etc/pixzo/config.yml

Ajoutez le contenu suivant, en adaptant l'adresse du serveur API si nécessaire :

serveur: "https://api.pixzo.example"
intervalle: 60
journal: "/var/log/pixzo.log"

Étape 3 : Lancer le conteneur

Utilisez la commande ci-dessous pour démarrer Pixzo avec Docker :

docker run -d --name pixzo \
-v /etc/pixzo:/etc/pixzo \
-v /var/log:/var/log \
--restart unless-stopped \
pixzo/pixzo:latest

Étape 4 : Vérifier le fonctionnement

Pour vérifier que tout tourne correctement, regardez les journaux du conteneur :

docker logs pixzo

Vous devriez voir une ligne qui indique que le service est actif. Si ce n'est pas le cas, vérifiez la connexion à l'API avec la fonction de test intégrée :

def check_api():
try:
response = requests.get("https://api.je-service.nl/status")
return response.status_code == 200
except:
return False

Étape 5 : Configurer systemd

Pour que Pixzo démarre automatiquement au boot, créez une unité systemd. Créez le fichier /etc/systemd/system/pixzo.service :

[Unit]
Description=Service Pixzo
Requires=docker.service
After=docker.service

[Service]
ExecStart=/usr/bin/docker start -a pixzo
ExecStop=/usr/bin/docker stop pixzo
Restart=always

[Install]
WantedBy=multi-user.target

Ensuite, activez et démarrez le service :

systemctl daemon-reload
systemctl enable pixzo
systemctl start pixzo

Dépannage

Le conteneur ne démarre pas

Vérifiez que le fichier config.yml est bien valide et que les chemins montés existent. Utilisez docker logs pixzo pour voir les erreurs.

L'API n'est pas joignable

Testez la connexion depuis le conteneur avec :

docker exec pixzo curl https://api.je-service.nl/status

Si cela échoue, vérifiez votre pare-feu ou votre proxy.

Conclusion

Pixzo est maintenant installé et surveille votre serveur. Pour plus d'informations, consultez la documentation officielle sur le site de Pixzo.

← Terug naar kennisbank