introduction
Maintenant que vous avez un serveur Linux parfaitement configuré sur Vultr, vous devez choisir une solution de sauvegarde pour celui-ci. GNU tar
est un très bon choix - il est fiable et facilite la sauvegarde et la restauration d'un serveur.
Syntaxe de base
Tar utilise la syntaxe suivante.
sudo /usr/bin/tar -czpvf /home/john/backup/linux_backup.tar.gz /
-c
: Archive.
-z
: Utilisez le format GZip pour la sauvegarde. GZip est rapide mais génère une taille de fichier plus importante que les autres outils de compression.
-p
: Conservez l'autorisation afin que lorsque vous restaurez la sauvegarde, vous ne rencontriez pas de problème d'autorisation.
-v
: Afficher les détails lors de la sauvegarde. Omettez -v
si vous ne voulez pas voir la sortie détaillée.
-f
: Spécifiez où stocker les fichiers tar. Ici, nous enregistrons le fichier de sauvegarde dans le backup
répertoire sous le répertoire personnel de l'utilisateur John et le nommons linux_backup.tar.gz
.
/
: Le système de fichiers racine Linux. Cela signifie de sauvegarder l'intégralité du disque, y compris tous les lecteurs montés, alors soyez prudent, assurez-vous d'exclure les dossiers ou fichiers avec lesquels vous ne souhaitez pas sauvegarder excluded.txt
(expliqué ci-dessous).
Améliorations
Excluez les fichiers que vous ne voulez pas (ou n'avez pas besoin) de sauvegarder.
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -czpvf /home/john/backup/linux_backup.tar.gz /
Utilisez --exclude-from=/home/john/exclude.txt
pour spécifier les exclusions dans un fichier. Un exclude.txt
échantillon est collé ci-dessous.
/home/john/backup/*
/tmp/*
/proc/*
/dev/*
/sys/*
/run/*
/var/tmp/*
/var/run/*
/var/lock/*
/usr/portage/*
/usr/src/*
Dans cet exemple, j'exclus /home/john/backup/*
, sinon la première sauvegarde sera incluse dans la deuxième sauvegarde, etc.
Sur tous les systèmes Linux, le /tmp/*
, /proc/*
, /dev/*
, /sys/*
et /run/*
sont créés dynamiquement, de sorte que vous n'avez pas besoin de les inclure dans la sauvegarde, mais vous devez garder la structure de répertoire. Par conséquent, vous devez utiliser /proc/*
dans excluded.txt
, par opposition à /proc
.
Vous pouvez ajouter d'autres fichiers et dossiers que vous ne souhaitez pas sauvegarder. Dans l'exemple ci-dessus, j'ai inclus /usr/portage/*
et /usr/src/*
. Ce sont spécifiques à Gentoo Linux. Le premier contient les ebuilds et les sources du paquet Gentoo. Le second contient les sources du noyau Gentoo Linux. Ils sont volumineux et peuvent tous les deux être téléchargés à nouveau après une restauration du système. N'hésitez pas à modifier le excluded.txt
pour l'adapter à vos besoins.
Ajouter la date actuelle au nom de la sauvegarde
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -czpvf /home/john/backup/linux_backup-$(date +%F-%H-%M).tar.gz /
Avec $(date +%F-%H-%M)
, la date, les heures et les minutes actuelles seront ajoutées au nom du fichier de sauvegarde. Par exemple linux_backup-2015-07-02-15-22.tar.gz
,.
Utilisez un meilleur programme de compression que GZip
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -cJpvf /home/john/backup/linux_backup-$(date +%F-%H-%M).tar.xz /
Le -J
commutateur peut remplacer -z
pour utiliser Xz pour la compression. Il change également l'extension en tar.xz
. Xz est plus lent que GZip, mais son taux de compression est bien meilleur, ce qui se traduit par un fichier de sauvegarde plus petit.
Tout mettre dans un script shell
Créez un script.
vim /home/john/bin/linux_backup.sh
Incluez le code suivant dans le script.
#!bin/sh
_tarfile=/home/john/backup/linux_backup-$(date +%F-%H-%M).tar.xz
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -cJpvf $ /
Accordez au script les autorisations d'exécution.
sudo chmod +x /home/john/bin/linux_backup.sh
Effectuez une sauvegarde.
/home/john/bin/linux_backup.sh