Nous allons voir ici comment utiliser rsync pour réaliser des backups incrémentaux sur différents supports tels d'un disque local ou un stockage sur un site spécialisé comme Hetzner. Regardez les Storage Boxes pour ces espaces de stockage fort pratiques.
Utiliser rsync pour ce genre de backup s'impose car c'est un outil fiable et robuste, permettant de copier des fichiers et des dossiers entre plusieurs sources et destinations. Il fonctionne localement ou à distance (par SSH sur un autre serveur). De plus, il conserve les permissions des fichiers, les horodatages, les liens symboliques et est disponible par défaut sur toutes les versions de linux et Mac. Sous Windows, rsync s'utilise à travers Cygwin et peut s'avérer plus subtil dans son usage. Il existe un certain nombre de logiciels pratiques comme DeltaCopy (version client-serveur), SyncbackFree ou GRsync.
rsync -avh --progress -e 'ssh -p23' --recursive $SOURCE $DESTINATION
Pour spécifier les $SOURCE et $DESTINATION, selon les cas :
Il existe certaines options utiles :
--progress
et --partial
pour
afficher une barre de progression ainsi que la capacité de reprendre le transfert
en cas de coupure.$ ssh-keygen
ATTENTION : par défaut la commande ssh-keygen va remplacer la clé existante. Utilisez
l'option -f pour spécifier un chemin différent. Durant la génération, le fichier de
destination sera ~/.ssh/id_rsa. N'entrez pas non plus de passphrase sinon vous devrez la saisir également à chaque
usage de la clé SSH.
Generating public/private rsa key pair.
Enter file in which to save the key (~/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in ~/.ssh/id_rsa
Your public key has been saved in ~/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:easfGHSWNAxCVEMKs+T3w1bVw+s8emc9STt1Cawzdbc user@device
The key's randomart image is:
+---[RSA 3072]----+
| +o+o=oo .o |
| o + o o.+ + |
| o o . = . o |
| . + = +...|
| S . ooo +|
| . = = +Eo|
| . o o...*|
| . .. .=+|
| ... . oo|
+----[SHA256]-----+
La commande ssh-keygen génère une paire de clé : une clé privée (id_rsa) et une
clé publique (id_rsa.pub). Une clé SSH publique telle que celle définie précédemment
doit être copiée sur le serveur sur lequel vous allez vous connecter.
Sur le serveur Storage Box Hetzner il faut copier la clé par
cat ~/.ssh/id_rsa.pub | ssh -p23 uXXXXXX@uXXXXXX.your-storagebox.de install-ssh-key
Key No. 1 (ssh-rsa user@device) was installed in RFC4716 format
Key No. 1 (ssh-rsa user@device) was installed in OpenSSH format
Celle-ci existe maintenant également dans deux autres formats : RFC4716 pour le SSH sur le port 22
et OpenSSH. Le port 23 de SSH utilise la version one-line de la clé SSH. Pour transférer la clé :
ssh-copy-id -p 23 -s uXXXXXX@uXXXXXX.your-storagebox.de
Il est maintenant possible de se connecter en SSH sur le serveur Hetzner sans mot de passe.