Rate this article :
This article was useful to you ?
Yes
No
Vous avez noté 0 étoile(s)
Sommaire
Procédure
Rsync est un logiciel de synchronisation de fichiers en ligne de commande. Il va permettre de copier les fichiers d'un endroit vers un autre en les synchronisant en fonction de la source.
Lors de la première sauvegarde de vos fichiers, Rsync va effectuer une sauvegarde complète en fonction de la source. Ensuite, il effectuera des sauvegardes partielles des données. En effet, il ne sauvegardera que les fichiers de la source qui ont été modifié depuis la dernière sauvegarde.
1. Connectez-vous en SSH sur votre serveur ISPConfig et introduisez la commande suivante:
$ ssh-keygen -t rsa -b 2048
Lors de la génération des clés, ces dernières seront mise en place dans le dossier "/root/.ssh/id_rsa" de votre serveur privé.
N'entrez pas de passphrase, validez en appuyant sur la touche "Entrée" de votre clavier. En effet, dès que vous allez indiquer une passphrase, cette dernière sera systématiquement demandée afin de pouvoir vous connecter à votre espace de sauvegarde distant.
2. Transférez la clé publique sur votre espace de sauvegarde en ligne par le biais de la commande ssh-copy-id.
$ ssh-copy-id -i /root/.ssh/id_rsa.pub utilisateur@serveur_distant
Lorsque vous aurez validé la commande, le mot de passe de l'utilisateur vous sera demandé afin de pouvoir vous connecter au serveur et déposer le fichier "id_rsa.pub".
Le script ci dessous va vous permettre de sauvegarder vos données sur votre espace de sauvegarde en ligne LWS.
1. Créez le fichiers sauvegarde.sh dans le dossier script:
nano /scripts/sauvegarde.sh
2. Copiez-coller le script se trouvant ci dessous et sauvegarder votre script en cliquant simultanément sur [CTRL] + [X]
#!/bin/sh jour='date+%d-%B-%Y' log="/logs/" local="/public_html/" distant="/files/" hostssh="ip_serveur" userssh="identifiant" echo "-------------------------------------------------------------" > $log/sauvegarde_$jour.log # nom de la sauvegarde dans le journal echo "Sauvegarde de $local du $(date +%d-%B-%Y)" >> $log/sauvegarde_$jour.log echo "-------------------------------------------------------------" >> $log/sauvegarde_$jour.log # heure de début du transfert dans le journal echo "Heure de demarrage de la sauvegarde : $(date +%H:%M:%S)" >> $log/sauvegarde_$jour.log echo "-------------------------------------------------------------" >> $log/sauvegarde_$jour.log # transfert des fichiers rsync -az --stats -e ssh $local $userssh@$hostssh:$distant >> $log/sauvegarde_$jour.log # -a : mode archivage ( équivalent -rlptgoD ). # -z : compression des données pendant le transfert. # -e : pour spécifier l’utilisation de ssh # -- stats donne des informations sur le transfert (nombre de fichiers…). # --delete-after : supprime les fichiers qui n’existent plus dans la source après le transfert dans le dossier de destination. status=$? echo "" >> $log/sauvegarde_$jour.log #code d'erreurs rsync case $status in 0) echo Succès >> $log/sauvegarde_$jour.log;; 1) echo Erreur de syntaxe ou d'utilisation >> $log/sauvegarde_$jour.log;; 2) echo Incompatibilité de protocole >> $log/sauvegarde_$jour.log;; 3) echo Erreurs lors de la sélection des fichiers et des répertoires d'entrée/sortie >> $log/sauvegarde_$jour.log;; 4) echo Action non supportée : une tentative de manipulation de fichiers 64-bits sur une plate-forme qui ne les supporte pas \ ; ou une option qui est supportée par le client mais pas par le serveur. >> $log/sauvegarde_$jour.log;; 5) echo Erreur lors du démarrage du protocole client-serveur >> $log/sauvegarde_$jour.log;; 6) echo Démon incapable d'écrire dans le fichier de log >> $log/sauvegarde_$jour.log;; 10) echo Erreur dans la socket E/S >> $log/sauvegarde_$jour.log;; 11) echo Erreur d'E/S fichier >> $log/sauvegarde_$jour.log;; 12) echo Erreur dans le flux de donnée du protocole rsync >> $log/sauvegarde_$jour.log;; 13) echo Erreur avec les diagnostics du programme >> $log/sauvegarde_$jour.log;; 14) echo Erreur dans le code IPC>> $log/sauvegarde_$jour.log;; 20) echo SIGUSR1 ou SIGINT reçu >> $log/sauvegarde_$jour.log;; 21) echo "Une erreur retournée par waitpid()" >> $log/sauvegarde_$jour.log;; 22) echo Erreur lors de l'allocation des tampons de mémoire principaux >> $log/sauvegarde_$jour.log;; 23) echo Transfert partiel du à une erreur >> $log/sauvegarde_$jour.log;; 24) echo Transfert partiel du à la disparition d'un fichier source >> $log/sauvegarde_$jour.log;; 25) echo La limite --max-delete a été atteinte >> $log/sauvegarde_$jour.log;; 30) echo Dépassement du temps d'attente maximal lors d'envoi/réception de données >> $log/sauvegarde_$jour.log;; 35) echo Temps d’attente dépassé en attendant une connection >> $log/sauvegarde_$jour.log;; 255) echo Erreur inexpliquée >> $log/sauvegarde_$jour.log;; esac echo "-------------------------------------------------------------" >> $log/sauvegarde_$jour.log # heure de fin dans le journal echo "Heure de fin de la sauvegarde : $(date +%H:%M:%S)" >> $log/sauvegarde_$jour.log echo "-------------------------------------------------------------" >> $log/sauvegarde_$jour.log exit
Vous pouvez automatiser la sauvegarde en mettant en place une tache cron. Lors de la mise en place de cette tâche, il vous faudra indiquer l'emplacement de votre fichier "sauvegarde.sh"
Vous êtes désormais en mesure de mettre en place une sauvegarde automatique de votre serveur ISPConfig vers espace de sauvegarde en ligne avec LWS. IL vous est possible de définir les fichiers à inclure ou à exclure de votre sauvegarde en ligne.
N'hésitez pas à partager vos remarques et vos questions !
Rate this article :
This article was useful to you ?
Yes
No
2mn reading
Comment ajouter une clé RSA sur le service Rsync SCP drive?
1mn reading
Comment faire un script de sauvegarde distante avec Rsync ?
0mn reading
Comment faire une sauvegarde de son site avec LWS Drive ?
4mn reading
Utilitaire backup2l restauration