GERBELOTBARILLON.COM

Parce qu'il faut toujours un commencement...

Rsync

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 :

A chaque fois que la commande sera exécutée, rsync va vous demander le mot de passe de connexion au Storage Box d'Hetzner. Pour ne pas avoir à saisir ce mot de passe, le plus simple est de générer une paire de clés SSH sur la machine depuis laquelle la connexion sera réalisée
$ 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.