Automatisation de l’administration système
Utilisez les scripts Bash pour automatiser des tâches courantes d’administration système, comme les sauvegardes, la rotation des journaux et la surveillance.
Automatisation de l’administration système est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.
Introduction à l'automatisation de l'administration système
Bienvenue ! Dans cette leçon, nous allons nous intéresser à l'automatisation des tâches courantes d'administration système à l'aide de scripts Bash. C'est ici que vos compétences en écriture de scripts prennent tout leur sens !
L'automatisation rend la gestion des systèmes plus efficace et plus cohérente, tout en réduisant les risques d'erreur humaine. C'est une compétence essentielle pour tout développeur ou professionnel de l'IT.
Pourquoi automatiser les tâches d'administration système ?
L'automatisation des tâches répétitives offre des avantages considérables :
- Efficacité : les tâches s'exécutent plus rapidement et sans intervention manuelle.
- Cohérence : les tâches sont effectuées de la même manière à chaque fois, ce qui réduit les erreurs.
- Fiabilité : les scripts peuvent être planifiés pour s'exécuter de manière fiable, même lorsque vous êtes absent.
- Évolutivité : les mêmes opérations peuvent être facilement appliquées à de nombreux systèmes.
Cibles courantes de l'automatisation
De nombreuses tâches d'administration système se prêtent parfaitement à l'automatisation :
- Sauvegardes : copier régulièrement les données importantes.
- Gestion des journaux : nettoyer les anciens journaux ou les faire tourner.
- Surveillance du système : vérifier l'espace disque, le CPU et l'utilisation de la mémoire.
- Gestion des utilisateurs : créer ou supprimer des comptes utilisateur.
- Mises à jour des logiciels : maintenir les paquets à jour.
Écrire un script de sauvegarde simple
L'une des tâches les plus importantes consiste à sauvegarder les données. Un script de sauvegarde élémentaire peut copier certains fichiers ou répertoires vers un emplacement sûr, souvent avec un horodatage.
Nous pouvons utiliser la commande cp avec la commande date pour créer des répertoires de sauvegarde uniques.
Exécution : sauvegarde quotidienne des données
Ce script crée une sauvegarde horodatée d'un répertoire « my_data » dans un dossier « backups ». N'oubliez pas de remplacer /path/to/my_data par un répertoire réel de votre système pour le tester.
#!/bin/bash
SOURCE_DIR="/tmp/my_data"
BACKUP_DIR="/tmp/backups"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
mkdir -p "$SOURCE_DIR"
echo "Hello from CoddyKit!" > "$SOURCE_DIR/file1.txt"
echo "More data." > "$SOURCE_DIR/file2.txt"
mkdir -p "$BACKUP_DIR"
# Perform the backup
cp -r "$SOURCE_DIR" "$BACKUP_DIR/backup_$TIMESTAMP"
echo "Backup created at: $BACKUP_DIR/backup_$TIMESTAMP"Automatiser le nettoyage des journaux
Les fichiers journaux grossissent rapidement et peuvent occuper une part importante de l'espace disque. Automatiser leur nettoyage ou leur rotation est essentiel à la bonne santé du système.
Nous pouvons utiliser la commande find pour localiser les anciens fichiers journaux et les supprimer, ou les déplacer vers une archive.
Exécution : suppression des anciens journaux
Ce script supprime les fichiers journaux âgés de plus de 7 jours dans un répertoire donné. Soyez prudent lorsque vous utilisez rm dans de vrais scripts !
#!/bin/bash
LOG_DIR="/tmp/app_logs"
mkdir -p "$LOG_DIR"
touch "$LOG_DIR/today.log"
touch -d "8 days ago" "$LOG_DIR/old_log_1.log"
touch -d "5 days ago" "$LOG_DIR/recent.log"
touch -d "10 days ago" "$LOG_DIR/old_log_2.log"
echo "Logs before cleanup:"
ls -l "$LOG_DIR"
# Find and delete log files older than 7 days
find "$LOG_DIR" -type f -name "*.log" -mtime +7 -delete
echo "\nLogs after cleanup:"
ls -l "$LOG_DIR"Surveiller l'utilisation du disque
La surveillance des ressources système, comme l'espace disque, est essentielle pour éviter les interruptions de service. Un script peut vérifier régulièrement l'utilisation et vous avertir si elle dépasse un seuil.
La commande df indique l'utilisation de l'espace disque des systèmes de fichiers. Nous pouvons analyser sa sortie pour n'en extraire que le pourcentage.
Exécution : alerte d'espace disque
Ce script vérifie l'utilisation du système de fichiers racine (/) et affiche un avertissement si celle-ci dépasse 80 %. Vous pouvez modifier THRESHOLD.
#!/bin/bash
THRESHOLD=80
# Get disk usage percentage for root filesystem
USAGE=$(df -h / | awk 'NR==2 {print $5}' | sed 's/%//')
# Check if usage exceeds threshold
if (( USAGE > THRESHOLD )); then
echo "WARNING: Disk usage on / is at ${USAGE}%!"
else
echo "Disk usage on / is ${USAGE}%. All good!"
fiBonnes pratiques pour les scripts d'administration système
Lorsque vous écrivez des scripts d'automatisation, tenez compte des bonnes pratiques suivantes :
- Gestion des erreurs : utilisez
set -epour quitter en cas d'erreur et ajoutez des vérifications explicites. - Journalisation : redirigez la sortie du script vers des fichiers journaux à des fins d'audit et de débogage.
- Idempotence : concevez les scripts de sorte que plusieurs exécutions aient le même effet qu'une seule.
- Configuration : utilisez des variables ou des fichiers de configuration séparés pour les valeurs faciles à modifier.
- Permissions : vérifiez que les scripts disposent des bonnes permissions d'exécution (
chmod +x).
Vérification de l'automatisation système
Lesquelles des tâches suivantes se prêtent bien à l'automatisation à l'aide de scripts Bash dans le cadre de l'administration système ?
Récapitulatif : automatiser l'administration système
Excellent travail ! Vous avez appris comment les scripts Bash peuvent transformer les tâches d'administration système.
Nous avons vu l'automatisation des sauvegardes, du nettoyage des journaux et de la surveillance de l'utilisation du disque. N'oubliez pas d'appliquer les bonnes pratiques, comme la gestion des erreurs et la journalisation, afin de créer des scripts d'automatisation robustes et fiables.
Ces compétences sont précieuses pour maintenir des systèmes sains et efficaces !
Questions Fréquemment Posées
La leçon « Automatisation de l’administration système » est-elle gratuite ?
Oui — le texte complet de « Automatisation de l’administration système » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Automatisation de l’administration système » ?
Utilisez les scripts Bash pour automatiser des tâches courantes d’administration système, comme les sauvegardes, la rotation des journaux et la surveillance. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?
Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Automatisation de l’administration système » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?
Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Planification des tâches avec Cron
- Automatisation de l’administration système
- Projet de script avancé
- Rotation et nettoyage automatisés des journaux