La sauvegarde régulière des fichiers fait partie intégrante de l'administration de votre serveur.
Bien que vous puissiez télécharger chaque fichier individuel lorsque vous souhaitez les enregistrer, en utilisant rsync facilite la tâche de sauvegarde car il ne télécharge que les fichiers qui ont été modifiés, ce qui permet d'économiser du temps et de la bande passante.
Installer rsync
rsync est disponible sur la plupart des distributions Linux par défaut. Si vous devez l'installer manuellement, vous pouvez le faire en utilisant le gestionnaire de packages de votre distribution. Par exemple, les commandes suivantes sont des commandes courantes Linux® rsync commandes d'installation :
Le système d'exploitation Ubuntu
sudo aptitude install rsync
Gentoo
sudo emerge rsync
CentOS
sudo yum install rsync
Remarque : Si vous téléchargez des fichiers sur un autre système, les deux systèmes doivent avoir rsync installé.
Utiliser SSH avec rsync
Pour assurer la sécurité de vos fichiers et de votre système, assurez-vous d'utiliser le cryptage lors du chargement ou du téléchargement de fichiers. L'exemple suivant utilise le protocole Secure Shell (SSH) avec rsync pour garder vos données en sécurité. Si vous préférez ne pas utiliser SSH, vous serez invité à entrer un mot de passe chaque fois que vous exécuterez rsync .
Si vous utilisez rsync pour automatiser vos sauvegardes, assurez-vous que le serveur de destination (où se trouve le répertoire de sauvegarde) a accès au serveur d'origine.
Pour sauvegarder vos fichiers d'un serveur à un autre, exécutez la commande suivante sur le serveur de destination :
rsync -e 'ssh -p 30000' -avlP --delete --stats [email protected]:/home/demo /backup
L'explication suivante couvre chaque partie de la commande :
-
-e 'ssh -p 30000'Garantit que
rsyncutilise le protocole SSH et définit le port. -
-avlUn raccourci contenant les options suivantes :
-
-aArchive . Enregistre les paramètres d'autorisation pour les fichiers.
-
-vVerbeux . Renvoie plus d'informations sur ce que
rsyncfait. Vous pouvez modifier la quantité d'informationsrsyncrenvoie en éliminant-v, ou vous pouvez demander plus d'informations avec-vvou-vvv. Définir le mode verbeux avec-vvvrenvoie toutes les informations sur lersyncprocessus. -
-lLiens . Préserve tous les liens symboliques (symlinks) que vous avez créés sur le serveur source.
-
-PProgrès . Affiche la progression de chaque transfert de fichier.
-
-
--deleteSupprime les fichiers du dossier de destination qui ne sont plus nécessaires (c'est-à-dire qu'ils ont été supprimés des dossiers d'origine). Généralement, vous supprimez des fichiers pour économiser de l'espace, mais si vous pensez en avoir besoin plus tard, assurez-vous d'avoir une copie de sauvegarde avant de la supprimer.
-
--statsAjoute plus de sortie concernant l'état du transfert de fichier.
-
[email protected]:/home/demoLes dossiers d'origine à sauvegarder.
Remarque :
rsyncdifférencie/home/demoet/home/demo/. Avec la barre oblique finale,rsynccopie le contenu du répertoire, mais ne recrée pas le répertoire. Cet exemple sauvegarde un dossier d'un système à un autre, donc l'omission de la barre oblique finale réplique la structure entière du répertoire. -
/backup/Identifie le dossier sur le serveur de sauvegarde dans lequel placer les fichiers.
Votre sortie devrait ressembler à l'exemple suivant :
receiving file list ...
31345 files to consider
./
tuning-primer.sh
42596 100% 533.30kB/s 0:00:00 (xfer#2, to-check=31331/31345)
bin/
bin/Backup
618 100% 7.74kB/s 0:00:00 (xfer#3, to-check=31310/31345)
bin/Search
455 100% 5.70kB/s 0:00:00 (xfer#4, to-check=31309/31345)
configs/
configs/php.ini
114 100% 1.43kB/s 0:00:00 (xfer#5, to-check=31307/31345)
public_html/
...
...
Dans l'exemple précédent, rsync reçoit une liste de 31 345 fichiers et, parce que c'est la première fois rsync a été exécuté, les télécharge tous. Lorsque rsync s'exécute à nouveau, seuls les fichiers qui ont été modifiés depuis la dernière sauvegarde sont synchronisés avec le dossier de sauvegarde.