Automatiser la Synchronisation entre Deux Serveurs avec rsync et SSH
Étape 1 : Générer une paire de clés SSH sur la Machine A
-
Connectez-vous à la Machine A :
Ouvrez un terminal sur la Machine A.
-
Générez une paire de clés SSH :
Utilisez la commande suivante pour générer une nouvelle paire de clés SSH :
ssh-keygen -t rsa -b 4096 -C "votre_email@example.com"
-t rsa
: Spécifie le type de clé (RSA).-b 4096
: Spécifie la longueur de la clé en bits (4096 bits pour une sécurité accrue).-C "votre_email@example.com"
: Ajoute un commentaire à la clé (généralement votre adresse e-mail).
-
Suivez les instructions à l'écran :
- Appuyez sur
Entrée
pour accepter le chemin par défaut où la clé sera enregistrée (~/.ssh/id_rsa
). - Vous pouvez choisir de définir une phrase secrète pour une sécurité supplémentaire ou la laisser vide pour une connexion sans mot de passe.
- Appuyez sur
Étape 2 : Copier la clé publique sur la Machine B
-
Utilisez
ssh-copy-id
pour copier la clé publique :Cette commande copiera votre clé publique sur la Machine B et l'ajoutera au fichier
~/.ssh/authorized_keys
:ssh-copy-id root@100.100.10.100
- Remplacez
root
par le nom d'utilisateur approprié si vous n'utilisez pas l'utilisateur root. - Entrez le mot de passe de l'utilisateur sur la Machine B lorsque vous y êtes invité.
- Remplacez
-
Vérifiez la connexion SSH :
Testez la connexion SSH pour vous assurer que vous pouvez vous connecter sans mot de passe :
ssh root@100.100.10.100
Si tout est configuré correctement, vous devriez pouvoir vous connecter sans entrer de mot de passe.
Étape 3 : Programmer la copie hebdomadaire avec rsync
-
Ouvrez le crontab sur la Machine A :
Utilisez la commande suivante pour éditer le crontab de l'utilisateur actuel :
crontab -e
-
Ajoutez une tâche cron pour
rsync
:Ajoutez la ligne suivante pour planifier l'exécution de
rsync
chaque semaine, par exemple tous les dimanches à 2h du matin :0 2 * * 0 rsync -a /srv/path/to/folder/ root@100.100.10.100:/srv/Folder/
0 2 * * 0
: Spécifie l'heure et le jour de la semaine (dimanche à 2h du matin).rsync -a /srv/path/to/folder/ root@100.100.10.100:/srv/Folder/
: La commandersync
pour synchroniser les fichiers.
-
Enregistrez et quittez l'éditeur :
Enregistrez les modifications et quittez l'éditeur. La tâche est maintenant programmée.
Étape 4 : Vérification
-
Vérifiez les tâches cron :
Vous pouvez lister les tâches cron pour vous assurer que la tâche a été ajoutée correctement :
crontab -l
-
Testez manuellement la commande
rsync
:Avant de compter sur la tâche cron, testez manuellement la commande
rsync
pour vous assurer qu'elle fonctionne comme prévu :rsync -a /srv/path/to/folder/ root@100.100.10.100:/srv/Folder/
Pour faire la copie de suite en verbose:
rsync --progress -av /srv/path/to/folder/ root@100.100.10.100:/srv/Folder/
No Comments