Outils pour utilisateurs

Outils du site


doc:formations:hebergement:serveur:sauvegarder

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
doc:formations:hebergement:serveur:sauvegarder [2020/12/03 07:29] – [Partie commune à la suite] jeremiedoc:formations:hebergement:serveur:sauvegarder [2023/11/23 20:31] (Version actuelle) – [rsync + hardlinks] jeremie
Ligne 78: Ligne 78:
 doit répondre ici ''root''. Bien sûr on peut faire des variantes. Mais si on se loggue sur un utilisateur autre que ''root'', ce qui est bien en terme de sécurité, alors il faudra que celui-ci aie des droit adéquats. doit répondre ici ''root''. Bien sûr on peut faire des variantes. Mais si on se loggue sur un utilisateur autre que ''root'', ce qui est bien en terme de sécurité, alors il faudra que celui-ci aie des droit adéquats.
  
-Si votre port SSH n'est pas le standard 22, vous pouvez spécifier ''ssh -p 21234 root@source.com''. Si vous utilisez ''scp'' le paramètre est donné ainsi ''scp -P 21234 root@source.com:nomdufichier dest''. Mais voyez plutôt comment [[doc:formations:hebergement:serveur:ssh#option_du_cote_client|simplifier]] cela avec un fichier ''.ssh/config''.+Si votre port SSH n'est pas le standard 22, vous pouvez spécifier ''ssh -p 21234 root@source.com''. Si vous utilisez ''scp'' le paramètre est donné ainsi ''scp -P 21234 root@source.com:nomdufichier dest''. Mais voyez plutôt comment [[doc:formations:hebergement:serveur:ssh#ssh_client_config|simplifier]] cela avec un fichier ''.ssh/config''.
  
 ==== Archive de dossiers ==== ==== Archive de dossiers ====
Ligne 206: Ligne 206:
 ==== rdiff: backup et miroir incrémental ==== ==== rdiff: backup et miroir incrémental ====
  
-Un outil encore plus performant, qui mélange miroir et versioning est ''rdiff'': il s'agit là d'un backup //incrémental//, c'est-à-dire qu'il conserve plusieurs versions d'un fichier (cf "time capsule" de MacOS, etc).+On parle de backup //incrémental// lorsque l'on conserve plusieurs versions historiques des fichiers, tout en évitant de les dupilquer (cf "time capsule" sur MacOS). C'est généralement essentiel car les simples //copies// ne suffisent paspuisqu'une erreur de manipulation à la source sera tot ou tard propagée vers ces miroirs.
  
-Pour ce dernier, on peut créer un script comme ci-dessous, puis l'appeler depuis une crontab (ci-après): +On veut donc avoir plusieurs sauvegardes d'une source mais à des dates différentes.
-<code>+
  
 +L'approche naive consisterait bien sur à dupliquer l'ensemble des données sources et à les faire tourner, mais il est possible de faire bien plus efficacement. On effectue un premier backup complet, que l'on complète par des copies partielles et de plus en plus vieilles ... mais qui ne contiennent //que les différences avec le précédent backup//. C'est donc beaucoup plus économe en espace disque (et en vitesse disque/réseau) que des sauvegardes complètes.
 +
 +=== rsync + hardlinks ===
 +
 +Le bel outil ''rsync'' couplé avec l'usage intelligent des liens matériels (hardlinks) permet déjà de créer manuellement des backups incrémentaux, [[https://www.admin-magazine.com/Articles/Using-rsync-for-Backups/(offset)/2|comme ici]].
 +
 +Ces backups se trouvent chacun dans leur dossiers respectifs, et ils restent accessibles exactement comme le dossier maître. C'est parfois très intéressant pour en donner l'accès direct aux utilisateurs à travers un réseau, un NAS ou un point de montage en lecture seule par exemple.
 +
 +=== rsnapshot ===
 +
 +[[https://rsnapshot.org/|rsnapshot]] est un script perl intéressant, qui se base lui-même sur ''rsync'' afin de simplifier son usage en tant que moyen de faire des backups incrémentaux.
 +=== rdff-backup ===
 +
 +Mais on va parler ici de ''rdiff-backup''. Il dffère de l'approche ''rsync+hardlinks'' par le fait que ces données sont stockées dans un format interne, qui n'est donc pas accessible directement. L'intérêt reste notable puisque la place exigée par les backups incrémentaux est souvent bien moins grande (''rdiff-backup'' ne stocke que les différence entre les fichiers, pas l'ensemble des fichiers qui diffèrent).
 +
 +
 +On peut créer un script comme ci-dessous, puis l'appeler depuis une crontab (ci-après):
 +
 +<code>
 rdiff-backup -v1 --print-statistics --max-file-size 10000000 /home/jeremie/ rdiff@serveur_de_backup.com:/home/rdiff/backup_rdiff rdiff-backup -v1 --print-statistics --max-file-size 10000000 /home/jeremie/ rdiff@serveur_de_backup.com:/home/rdiff/backup_rdiff
 rdiff-backup -v1 --force --remove-older-than 4W rdiff@serveur_de_backup.com:/home/rdiff/backup_rdiff rdiff-backup -v1 --force --remove-older-than 4W rdiff@serveur_de_backup.com:/home/rdiff/backup_rdiff
- 
 </code> </code>
  
-Et [[http://www.patrikdufresne.com/en/rdiffweb/|rdiff-web]] vous fera une interface web sur vos ces sauvegardes incrémentales, qui permettra d'accéder simplement aux versions précedents de vos fichiers+Bien sur, l'idée est de placer ces deux lignes dans un ''crontab'' par exemple pour qu'il soit éxécuté à intervalles réguliers. 
 + 
 +L'avantage de ''rdiff-backup'' est que [[http://www.patrikdufresne.com/en/rdiffweb/|rdiff-web]] vous permettra d'offir une interface web sur les sauvegardes incrémentales. Il devient très simple d'accéder simplement aux versions précedents de vos fichiers.
  
 Nb: pensez à créer un utilisateur dédié aux seules opérations de copie (ci-dessus c'est ''rdiff@serveur_de_backup.com''), et à le [[:doc:formations:hebergement:serveur:ssh#restriction_d_usage_d_un_compte|brider sur les opérations qu'il peut faire]]. On peut aussi passer par un utilisateur ''sudoer''  qui ne pourra lancer qu'un script dédié à la sauvegarde ([[doc:formations:hebergement:serveur:sauvegarder:exemple|exemple]] de script complet). Enfin, il peut etre aussi intéressant de mettre en place un [[https://www.oz4.us/2015/10/linux-restricted-tunneling-handling.html|tunnel SSH inverse]], etc. Nb: pensez à créer un utilisateur dédié aux seules opérations de copie (ci-dessus c'est ''rdiff@serveur_de_backup.com''), et à le [[:doc:formations:hebergement:serveur:ssh#restriction_d_usage_d_un_compte|brider sur les opérations qu'il peut faire]]. On peut aussi passer par un utilisateur ''sudoer''  qui ne pourra lancer qu'un script dédié à la sauvegarde ([[doc:formations:hebergement:serveur:sauvegarder:exemple|exemple]] de script complet). Enfin, il peut etre aussi intéressant de mettre en place un [[https://www.oz4.us/2015/10/linux-restricted-tunneling-handling.html|tunnel SSH inverse]], etc.
doc/formations/hebergement/serveur/sauvegarder.1606980575.txt.gz · Dernière modification : 2020/12/03 07:29 de jeremie