Dans le vocabulaire du SRE, le toil (un mot anglais qui veut dire « corvée ») désigne le travail d’exploitation manuel, répétitif et sans valeur durable. Si tu fais la même chose toutes les semaines à la main, et que demain tu devras la refaire à l’identique, c’est du toil.
Dans une grande entreprise, on en fait des statistiques. Chez soi, on s’en rend compte autrement : un dimanche, on se surprend à soupirer en tapant pour la quinzième fois la même suite de commandes.
Reconnaître une corvée
Une tâche est du toil si elle coche la plupart de ces cases :
- Manuelle : tu dois taper des commandes ou cliquer toi-même.
- Répétitive : tu l’as déjà faite, et tu la referas.
- Automatisable : un script pourrait la faire aussi bien que toi.
- Sans mémoire : une fois faite, tu n’as rien appris et rien amélioré. Le problème reviendra.
Ce n’est pas du toil de réfléchir à une nouvelle architecture, d’apprendre un outil, ou de réparer une vraie panne inédite. Ça, c’est le côté amusant du homelab.
Les corvées classiques d’un homelab
Voici les candidates que je retrouve chez presque tout le monde :
| Corvée | Comment l’éviter |
|---|---|
| Renouveler des certificats HTTPS | Un reverse proxy qui le fait seul (voir mon article sur Caddy) |
| Faire les mises à jour de sécurité | unattended-upgrades sur Debian/Ubuntu |
| Nettoyer les logs qui grossissent | logrotate, ou les limites de taille de journald |
| Vider un disque qui se remplit | Un nettoyage planifié et une alerte avant saturation |
| Redémarrer un service qui plante de temps en temps | Restart=on-failure dans systemd, ou restart: unless-stopped dans Docker |
| Lancer les sauvegardes | Tâches planifiées dans Proxmox Backup Server ou un cron |
| Vérifier « à la main » que tout va bien | Un tableau de bord et une alerte |
Dans cette liste, la dernière ligne est la plus sournoise : ouvrir dix onglets le matin pour vérifier que tout est vert, c’est du toil déguisé en vigilance.
La règle des trois fois
Pour décider si une corvée vaut un script, j’applique une règle simple :
La première fois, je la fais à la main. La deuxième fois, je note les commandes. La troisième fois, j’en fais un script.
Pourquoi ? Parce que la première fois, tu ne sais pas encore ce qui est variable. La deuxième, tu vois ce qui change. À la troisième, tu es sûr que ça revient, et tu sais quoi paramétrer.
Combien de temps ça vaut la peine d’y passer ?
Il y a un piège inverse : passer un week-end à automatiser une tâche de deux minutes par mois. Un calcul rapide permet de s’éviter ça :
gain annuel = durée de la tâche × nombre de fois par an
Une tâche de 10 minutes qui revient chaque semaine représente environ 8 heures par an. Si l’automatiser te prend une soirée, c’est rentable la première année. Une tâche de 2 minutes par mois, ça fait 24 minutes par an : laisse tomber, à moins que l’oubli soit risqué.
Et il y a un deuxième critère, souvent plus important que le temps : le risque d’oubli. Une tâche courte mais critique (renouveler un certificat, tester une sauvegarde) mérite d’être automatisée ou, au minimum, de déclencher un rappel.
Par où commencer : un exemple concret
Supposons que tu nettoies à la main les anciennes sauvegardes d’un dossier. Voici la version « corvée » :
ls -lt /srv/sauvegardes | tail
rm /srv/sauvegardes/ancienne-1.tar.gz
rm /srv/sauvegardes/ancienne-2.tar.gz
Et la version automatisée : supprimer ce qui a plus de 30 jours, chaque nuit.
#!/usr/bin/env bash
# nettoyer-sauvegardes.sh : supprime les archives de plus de 30 jours
set -euo pipefail
find /srv/sauvegardes -name '*.tar.gz' -mtime +30 -print -delete
Puis une ligne dans la crontab :
30 3 * * * /usr/local/bin/nettoyer-sauvegardes.sh
Avant d’activer la suppression pour de bon, lance-le une première fois sans -delete pour vérifier ce qu’il compte effacer. C’est un réflexe qui évite les mauvaises surprises.
Les outils qui font gagner du temps
Rien de compliqué, et presque tout est déjà sur ta machine :
- cron ou les timers systemd pour planifier.
- Des scripts bash commentés, rangés au même endroit (et sauvegardés).
- Ansible, quand tu as plusieurs machines à garder identiques.
- Les redémarrages automatiques de systemd et de Docker.
L’important est de ranger tes scripts quelque part : un dossier scripts/ versionné avec git, par exemple. Un script qui n’existe que dans l’historique de ton shell est un script perdu.
Le piège : automatiser sans surveiller
Une corvée automatisée est une corvée invisible. Si le script plante sans bruit, personne ne le sait avant que ce soit grave. Pour chaque automatisation, ajoute un signal d’échec : un message sur ton téléphone, ou au moins une ligne de log. J’en parle dans Être alerté sur son téléphone quand ça plante.
Mon petit exercice du week-end
Prends un papier, et note tout ce que tu as fait à la main sur ton homelab le mois dernier. Barre ce qui était nouveau ou amusant. Ce qui reste, ce sont tes corvées. Choisis-en une, la plus pénible, et automatise-la ce week-end.
Et si ça te prend moins de temps que prévu, tu auras gagné la plus agréable des victoires : celle d’une tâche à laquelle tu n’as plus jamais besoin de penser.