Outils pour utilisateurs

Outils du site


informatique:projets:sauvegarde_donnees

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
informatique:projets:sauvegarde_donnees [2017/11/07 10:44] alexisinformatique:projets:sauvegarde_donnees [2024/11/24 09:42] (Version actuelle) alexis
Ligne 1: Ligne 1:
 +{{tag>todo}}
 ====== Mise en place de sauvegardes ====== ====== Mise en place de sauvegardes ======
  
Ligne 117: Ligne 118:
 BACKUPDIR=$BACKUP/backup BACKUPDIR=$BACKUP/backup
 TEMPFILE=/tmp/$NAME".EHDD" TEMPFILE=/tmp/$NAME".EHDD"
 +USER=alexis
 +USERID=`id -u $USER`
 +BASH=`which bash`
 +
 +sudo -u $USER $BASH -c "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USERID/bus notify-send -t 10000 -u normal -i /usr/share/icons/Adwaita/32x32/devices/drive-removable-media.png 'Backup started' 'Location: external drive.'"
  
 echo "-= Wait until HDD is mounted =-" echo "-= Wait until HDD is mounted =-"
Ligne 141: Ligne 147:
 echo "-= Clean system =-" echo "-= Clean system =-"
 rm $TEMPFILE rm $TEMPFILE
 +
 +sudo -u $USER $BASH -c "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USERID/bus notify-send -t 10000 -u normal -i /usr/share/icons/Adwaita/32x32/devices/drive-removable-media.png 'Backup done' 'Location: external drive.'"
 </code> </code>
  
Ligne 161: Ligne 169:
  
 À ce moment, il ne reste plus qu'à activer le service pour qu'il soit utilisable au démarrage de la machine. À ce moment, il ne reste plus qu'à activer le service pour qu'il soit utilisable au démarrage de la machine.
 +
 +<WRAP info>
 +Pour trouver l'identifiant unique d'un disque, il faut lancer la commande suivante :
 +<code bash>
 +ls -l /dev/disk/by-uuid
 +</code>
 +</WRAP>
 +
 +<WRAP info>
 +Pour encoder un chemin en une chaîne de caractères utilisable dans les fichiers de configuration de systemd, il faut lancer la commande suivante :
 +<code bash>
 +systemd-escape --path <path>
 +</code>
 +</WRAP>
 +
  
 == Sauvegarde des données locales sur un disque délocalisé == == Sauvegarde des données locales sur un disque délocalisé ==
Ligne 166: Ligne 189:
  
 == Sauvegarde des données distantes == == Sauvegarde des données distantes ==
-FIXME 
 La quatrième étape fut de sauvegarder les données de mes services en ligne (RSS, photos, etc.) sur le disque local. La quatrième étape fut de sauvegarder les données de mes services en ligne (RSS, photos, etc.) sur le disque local.
 Pour cela, j'ai fait plusieurs tests peu concluants ((Copie en ligne dans un dossier puis montage SSHFS du dossier puis rsync → toute la donnée est copiée à chaque fois))((Rsync à travers SSH → refus de connexion après un certain temps))((Mysqldump en local → temps de traitements trop long)) avant de trouver quelque chose qui fonctionne. Pour cela, j'ai fait plusieurs tests peu concluants ((Copie en ligne dans un dossier puis montage SSHFS du dossier puis rsync → toute la donnée est copiée à chaque fois))((Rsync à travers SSH → refus de connexion après un certain temps))((Mysqldump en local → temps de traitements trop long)) avant de trouver quelque chose qui fonctionne.
Ligne 180: Ligne 202:
 #!/bin/bash #!/bin/bash
  
-SSH_CONNECTION=alexis@ainw.org +SSH_CONNECTION=<user>@<server> 
-IDENTITY=/home/alexis/.ssh/ainw+IDENTITY=/home/alexis/.ssh/<server>
 USER_NAME=backup USER_NAME=backup
 MOUNT_POINT=/media/$USER_NAME MOUNT_POINT=/media/$USER_NAME
-MYSQL_HOST=host +MYSQL_HOST=<dbhost> 
-MYSQL_USER=alexis +MYSQL_USER=<dbuser> 
-MYSQL_PASSWD=alexis+MYSQL_PASSWD=<dbpassword> 
 + 
 +USER=alexis 
 +USERID=`id -u $USER` 
 + 
 +sudo -u $USER /usr/bin/bash -c "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USERID/bus notify-send -t 10000 -u normal -i /usr/share/icons/Adwaita/32x32/devices/drive-removable-media.png 'Backup started' 'Distant to internal drive.'"
  
 # Extract crontab # Extract crontab
Ligne 192: Ligne 219:
  
 # Dump databases # Dump databases
-dbs[0]=ainw_contacts +dbs[0]=<db> 
-dbs[1]=ainw_rss+ 
 +dbs[n]=<db>
  
 for i in "${dbs[@]}" for i in "${dbs[@]}"
Ligne 204: Ligne 232:
 sshfs $SSH_CONNECTION:www $MOUNT_POINT -o IdentityFile=$IDENTITY sshfs $SSH_CONNECTION:www $MOUNT_POINT -o IdentityFile=$IDENTITY
  
-files[0]=wiki/data/pages +files[0]=<file> 
-files[1]=wiki/data/meta + 
-files[2]=wiki/data/media +files[n]=<file>
-files[3]=wiki/data/media_meta +
-files[4]=wiki/data/attic +
-files[5]=wiki/data/media_attic +
-files[6]=wiki/conf +
-files[7]=rss-bridge/whitelist.txt +
-files[8]=photos/albums +
-files[9]=links/info/data/datastore.php +
-files[10]=links/info/data/config.json.php +
-files[11]=links/perso/data/datastore.php +
-files[12]=links/perso/data/config.json.php +
-files[13]=freshrss/data/config.php +
-files[14]=freshrss/data/users/alexis/config.php +
-files[15]=contacts/config/config.php +
-files[16]=BoZoN/uploads +
-files[17]=BoZoN/config.php+
  
 for i in "${files[@]}" for i in "${files[@]}"
Ligne 234: Ligne 247:
 rmdir $MOUNT_POINT rmdir $MOUNT_POINT
  
-USER=alexis 
-USERID=`id -u $USER` 
 sudo -u $USER /usr/bin/bash -c "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USERID/bus notify-send -t 10000 -u normal -i /usr/share/icons/Adwaita/32x32/devices/drive-removable-media.png 'Backup done' 'Distant to internal drive.'" sudo -u $USER /usr/bin/bash -c "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USERID/bus notify-send -t 10000 -u normal -i /usr/share/icons/Adwaita/32x32/devices/drive-removable-media.png 'Backup done' 'Distant to internal drive.'"
 </code> </code>
Ligne 242: Ligne 253:
 <code ini> <code ini>
 [Unit] [Unit]
-Description=Backup Dreamhost on internal disk+Description=Backup distant on internal disk
 Requires=home.mount Requires=home.mount
 After=home.mount After=home.mount
  
 [Service] [Service]
-ExecStart=/home/alexis/Personnalisation/Scripts/Automatic.Backup.Dreamhost.sh+ExecStart=/home/alexis/Personnalisation/Scripts/Automatic.Backup.Distant.sh
 Type=oneshot Type=oneshot
  
Ligne 253: Ligne 264:
 WantedBy=graphical.target WantedBy=graphical.target
 </code> </code>
 +
 +Cependant, je voulais le lancer un peu en différé par rapport à la séquence de démarrage. J'ai donc créé le fichier ''/etc/systemd/system/distant.backup.timer'' avec le contenu suivant :
 +<code ini>
 +[Unit]
 +Description=Run distant backup on boot
 +
 +[Timer]
 +OnBootSec=30min
 +
 +[Install]
 +WantedBy=timers.target
 +</code>
 +
 +C'est ce dernier qu'il faut activer pour qu'il soit utilisable au démarrage de la machine.
 +
 == Restauration de données == == Restauration de données ==
 La dernière étape est de vérifier que les sauvegardes sont utilisables. C'est une opération qu'il faut faire régulièrement pour s'assurer de leur bon fonctionnement. Ce n'est pas le jour où on veut récupérer un fichier qu'il faut s'inquiéter de l'intégrité des données sauvegardées. La dernière étape est de vérifier que les sauvegardes sont utilisables. C'est une opération qu'il faut faire régulièrement pour s'assurer de leur bon fonctionnement. Ce n'est pas le jour où on veut récupérer un fichier qu'il faut s'inquiéter de l'intégrité des données sauvegardées.
Ligne 292: Ligne 318:
 rdiff-backup -r "Fri Oct 22 21:29:12 2010" /media/backup/ /tmp/OldBackup rdiff-backup -r "Fri Oct 22 21:29:12 2010" /media/backup/ /tmp/OldBackup
 </code> </code>
 +
 +<WRAP todo>
 +Liens à étudier :
 +  * [[http://linuxfr.org/news/r-evolutions-dans-le-monde-de-la-sauvegarde-de-donnees|(R)évolutions dans le monde de la sauvegarde de données - LinuxFr.org]]
 +  * [[http://www.areca-backup.org/|Areca Backup - Official Website]]
 +  * [[https://www.backblaze.com/b2/cloud-storage.html|B2 Cloud Storage: The Lowest Priced Online File Storage]]
 +  * [[https://www.borgbackup.org/|BorgBackup – Deduplicating archiver with compression and authenticated encryption]]
 +  * [[http://sebsauvage.net/wiki/doku.php?id=borgbackup|borgbackup [Wiki de sebsauvage.net]]]
 +  * [[https://www.blog-libre.org/2016/08/21/borgbackup-borg-pour-les-intimes/|BorgBackup, borg pour les intimes]]
 +  * [[https://www.borgbase.com/|BorgBase - Secure hosting for your BorgBackup Repos]]
 +  * [[https://github.com/bup/bup|bup: It backs things up]]
 +  * [[http://blog.rom1v.com/2013/08/duplicity-des-backups-incrementaux-chiffres/|Duplicity : des backups incrémentaux chiffrés – ®om's blog]]
 +  * [[http://duplicity.nongnu.org/|duplicity: Main]]
 +  * [[https://acha.ninja/blog/encrypted_backup_shootout/|Encrypted Backup Shootout]]
 +  * [[https://blog.genma.fr/?Des-interfaces-graphiques-a-Borg|genma : Des interfaces graphiques à Borg ? · planet-libre.org]]
 +  * [[https://linuxfr.org/news/installer-borgbackup-sur-un-nas|Installer BorgBackup sur un NAS]]
 +  * [[http://www.sauvegardedefichiers.fr/respecter-la-regle-de-sauvegarde-3-2-1-pour-ne-pas-perdre-ses-donnees00733|Respecter la règle de sauvegarde 3-2-1 pour ne pas perdre ses données - Sauvegarde de fichiers]]
 +  * [[https://blog.genma.fr/?Retour-d-experience-avec-Borg-comme-outil-de-sauvegarde|Retour d’expérience avec Borg comme outil de sauvegarde - Le blog de Genma]]
 +  * [[http://zythom.blogspot.fr/2014/12/la-recuperation-de-donnees-faites-la.html|Zythom: La récupération de données, faites la vous-même]]
 +</WRAP>
 +
informatique/projets/sauvegarde_donnees.1510080247.txt.gz · Dernière modification : 2017/11/07 10:44 de alexis