Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Programmer une sauvegarde automatique avec cron

Après cette leçon: Je peux programmer une sauvegarde automatique avec cron.

Leçon de 45 min11 commandesLab d’administration Linux : utilisateurs, droits, cron et systemd dans le navigateur

Une copie qui se fait toute seule

cron est le programme de Linux qui lance une commande à heure fixe, sans que personne appuie sur rien. Il sert surtout aux sauvegardes : une copie de tes données, rangée ailleurs pour le jour où l'original disparaît.

Aujourd'hui, tu fabriques une sauvegarde, tu la programmes, puis tu vérifies qu'elle se restaure.

À la fin de cette leçon

Remarque

Je peux programmer une sauvegarde automatique avec cron.

Mots clés

MotCe que ça veut direExemple
Sauvegardeune copie de données rangée ailleurs
Archiveun seul fichier qui en contient plusieurscopie.tar.gz
tarla commande qui fabrique et lit une archive
cronle programme qui lance des commandes à heure fixe
crontabla liste des tâches planifiées d'un utilisateur

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Avant de commencer

Remarque

Appuie sur Start the lab dans la barre en haut et attends que la machine soit prête. Ce lab est un serveur à administrer. Aujourd'hui, tu n'utilises que ta propre liste de tâches et tes propres dossiers.

Une archive range un dossier dans un fichier

Pour sauvegarder un dossier, on le range souvent dans une archive : un seul fichier qui en contient plusieurs. La commande tar la fabrique.

tar -czf copie.tar.gz -C ~ donnees met le dossier donnees dans copie.tar.gz. Dans -czf, c crée, z compresse et f donne le nom du fichier. -C ~ dit de partir de ton dossier personnel.

Crée un dossier à sauvegarder

Commande
mkdir -p ~/donnees

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Mets-y un fichier

Commande
echo "mes notes" > ~/donnees/notes.txt

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Fabrique la sauvegarde

Commande
tar -czf ~/copie.tar.gz -C ~ donnees

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Lis le contenu de l'archive

Commande
tar -tzf ~/copie.tar.gz

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Une ligne cron : cinq champs, puis la commande

Une tâche cron tient sur une ligne : cinq champs pour dire quand, puis la commande. Les champs sont la minute, l'heure, le jour du mois, le mois et le jour de la semaine.

Une étoile * veut dire « tous ». Et */15 veut dire « toutes les 15 unités ». Attention : dans une ligne cron, un signe % s'écrit \%.

Des exemples de lignes cron

Les cinq champsQuand la commande tourne
30 2 * * *chaque jour à 02:30
0 * * * *au début de chaque heure
*/15 * * * *toutes les 15 minutes
0 8 * * 1chaque lundi à 08:00

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Lis ta liste de tâches

Commande
crontab -l

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Programme la sauvegarde chaque nuit

Commande
echo '30 2 * * * tar -czf $HOME/copie.tar.gz -C $HOME donnees' | crontab -

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Relis ta liste de tâches

Commande
crontab -l

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Une sauvegarde non testée ne vaut rien

Une sauvegarde sert à restaurer. Si elle est vide ou abîmée, tu le découvres le jour où tu en as besoin. Il faut la tester : la restaurer dans un autre dossier, puis relire un fichier.

La règle 3-2-1 aide : trois copies, sur deux supports différents, dont une loin de la machine.

Crée un dossier de restauration

Commande
mkdir -p ~/restauration

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Restaure la sauvegarde dedans

Commande
tar -xzf ~/copie.tar.gz -C ~/restauration

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Relis le fichier restauré

Commande
cat ~/restauration/donnees/notes.txt

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Retire ta tâche à la fin

Commande
crontab -r

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Une erreur fréquente

Attention

Beaucoup pensent que cron prévient quand une tâche échoue. Non : il lance la commande en silence, avec un environnement minimal. Teste d'abord la commande à la main, avec des chemins complets, puis relis le résultat le lendemain.

À propos de ce labo et de sa source: Lab d’administration Linux : utilisateurs, droits, cron et systemd dans le navigateur

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.