informatique:projets:sauvegarde_donnees
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
informatique:projets:sauvegarde_donnees [2017/11/07 10:06] – alexis | informatique:projets:sauvegarde_donnees [2024/11/24 09:42] (Version actuelle) – alexis | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
====== Mise en place de sauvegardes ====== | ====== Mise en place de sauvegardes ====== | ||
Ligne 117: | Ligne 118: | ||
BACKUPDIR=$BACKUP/ | BACKUPDIR=$BACKUP/ | ||
TEMPFILE=/ | TEMPFILE=/ | ||
+ | USER=alexis | ||
+ | USERID=`id -u $USER` | ||
+ | BASH=`which bash` | ||
+ | |||
+ | sudo -u $USER $BASH -c " | ||
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 " | ||
</ | </ | ||
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' | ||
+ | <code bash> | ||
+ | ls -l / | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | <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 < | ||
+ | </ | ||
+ | </ | ||
+ | |||
== 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=< |
- | IDENTITY=/ | + | IDENTITY=/ |
USER_NAME=backup | USER_NAME=backup | ||
MOUNT_POINT=/ | MOUNT_POINT=/ | ||
- | MYSQL_HOST=host | + | MYSQL_HOST=< |
- | MYSQL_USER=alexis | + | MYSQL_USER=< |
- | MYSQL_PASSWD=alexis | + | MYSQL_PASSWD=< |
+ | |||
+ | USER=alexis | ||
+ | USERID=`id -u $USER` | ||
+ | |||
+ | sudo -u $USER / | ||
# Extract crontab | # Extract crontab | ||
Ligne 192: | Ligne 219: | ||
# Dump databases | # Dump databases | ||
- | dbs[0]=ainw_contacts | + | dbs[0]=< |
- | dbs[1]=ainw_rss | + | … |
+ | dbs[n]=<db> | ||
for i in " | for i in " | ||
Ligne 204: | Ligne 232: | ||
sshfs $SSH_CONNECTION: | sshfs $SSH_CONNECTION: | ||
- | files[0]=wiki/ | + | files[0]=< |
- | files[1]=wiki/ | + | … |
- | files[2]=wiki/ | + | files[n]=< |
- | files[3]=wiki/ | + | |
- | files[4]=wiki/ | + | |
- | files[5]=wiki/ | + | |
- | files[6]=wiki/ | + | |
- | files[7]=rss-bridge/ | + | |
- | files[8]=photos/ | + | |
- | files[9]=links/ | + | |
- | files[10]=links/ | + | |
- | files[11]=links/ | + | |
- | files[12]=links/ | + | |
- | files[13]=links/ | + | |
- | files[14]=links/ | + | |
- | files[15]=freshrss/ | + | |
- | files[16]=freshrss/ | + | |
- | files[17]=contacts/ | + | |
- | files[18]=BoZoN/ | + | |
- | files[19]=BoZoN/ | + | |
for i in " | for i in " | ||
Ligne 236: | Ligne 247: | ||
rmdir $MOUNT_POINT | rmdir $MOUNT_POINT | ||
- | USER=alexis | ||
- | USERID=`id -u $USER` | ||
sudo -u $USER / | sudo -u $USER / | ||
</ | </ | ||
+ | |||
+ | Comme pour les autres scripts, j'ai laissé systemd s' | ||
+ | <code ini> | ||
+ | [Unit] | ||
+ | Description=Backup distant on internal disk | ||
+ | Requires=home.mount | ||
+ | After=home.mount | ||
+ | |||
+ | [Service] | ||
+ | ExecStart=/ | ||
+ | Type=oneshot | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=graphical.target | ||
+ | </ | ||
+ | |||
+ | Cependant, je voulais le lancer un peu en différé par rapport à la séquence de démarrage. J'ai donc créé le fichier ''/ | ||
+ | <code ini> | ||
+ | [Unit] | ||
+ | Description=Run distant backup on boot | ||
+ | |||
+ | [Timer] | ||
+ | OnBootSec=30min | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=timers.target | ||
+ | </ | ||
+ | |||
+ | 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 == | ||
Ligne 280: | Ligne 318: | ||
rdiff-backup -r "Fri Oct 22 21:29:12 2010" / | rdiff-backup -r "Fri Oct 22 21:29:12 2010" / | ||
</ | </ | ||
+ | |||
+ | <WRAP todo> | ||
+ | Liens à étudier : | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | </ | ||
+ |
informatique/projets/sauvegarde_donnees.1510078011.txt.gz · Dernière modification : 2017/11/07 10:06 de alexis