README.md 2.44 KB
Newer Older
Thierry Fenasse's avatar
Thierry Fenasse committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
C'est pour automatiser un rsync avec une poubelle.
Fonctionne avec un disque USB dédié, formaté en ext4 (ou autre?) et de préférence chiffré (LUKS?).
Ça fonctionne aussi avec un dossier si vous ne voulez pas dédier un disque USB pour vos backups.

# UTILISATION

Copiez les fichiers suivants sur votre **DESTINATION**.

```
backup.sh
sources.liste
exclusions.liste
```

> Notez que le fichier `exclusions.liste` est vide parceque je suis fénéant et que je prends tout, même le .cache etc.

> Notez que le fichier `sources.liste` contient `etc`, `/home`, `/root` et `var` et que pour que tout soit pris il vaut mieux exécuter le script en tant que root ou avec sudo, ce qui est proposé plus bas.

Modifiez le fichier `sources.liste` en fonction de vos besoins.

Rendez le fichier `backup.sh` exécutable si il ne l'est pas.

```
chmod +x backup.sh
```

Exécutez la commande

```
sudo ./backup.sh
```

Et laissez la magie de `rsync` opérer jusqu'à ce que votre terminal vous rende la main. Ça peut être vraiment long la première fois, surtout si vous avez beaucoup de données.

# POUBELLE ?

Sur le disque (ou le dossier) de backup, il y aura au fil du temps une POUBELLE qui se remplira et qui contiendra ce que `rsync` devra supprimer de votre backup. En effet `rsync` est utilisé ici pour faire un **miroir** de vos données actuelles dans votre DESTINATION.  Cependant, `rsync` **déplacera** ce qu'il est sensé supprimer vers cette fameuse POUBELLE, dans un sous dossier correspondant à la date du jour d'exécution de votre backup.

Si votre disque (ou dossier) de DESTINATION manque d'espace, effacez ou déplacez tout ou partie de ce qui est dans POUBELLE.

# TODO

  - tester avec les `exclusions.listes`
  - gérer le nettoyage de la POUBELLE en cas de manque d'espace?
  - capturer les erreurs de rsync «echo error > rapport», celles qui s'affichent dans le terminal (voir exemple 1 ci-dessous)
  - améliorer le tout

**EXEMPLE 1** 

```
rsync: opendir "/home/tierce/.cache/dconf" failed: Permission denied (13)
rsync: send_files failed to open "/home/tierce/.cache/thumbnails/fail/gnome-thumbnail-factory/bb7474f71147532b50657337ce16d8e1.png": Permission denied (13)
rsync: send_files failed to open "/home/tierce/.cache/thumbnails/fail/gnome-thumbnail-factory/c2e42a136e968c73f0ce4943fa667f66.png": Permission denied (13)
rsync: send_files failed to open "/home/tierce/.cache/thumbnails/normal/97e0dd3e104be05e5134fd2bda881a50.png": Permission denied (13)
```