Última modificació: maig de 2020
Rdiff-backup permet fer backups d'un directori cap un altre (ja sigui local o remot), amb versionat.
rdiff-backup ~/Origen ~/Destina
rdiff-backup ~/Origen usuari@IPmaquinaremota::/directori_remot
La connexió remota la fa amb SSH. Com és evident, si canviem l'ordre dels directoris, podrem fer un backup d'un directori remot cap a una carpeta del nostre equip local. I fins i tot des de una carpeta remota cap a un altre carpeta remota.
rdiff-backup --test-server usuari@IPmaquinaremota::/directori_remot
rdiff-backup -r now ~/Destina/Exemple ~/Origen/Exemple
Com es pot veure a l'exemple anterior, el paràmetre de restauració necessita que li especifiquem de quin dia/hora volem que recuperem aquell fitxer o directori. Aquesta és la potència d'rdiff-backup.
El que fa rdiff-backup, es generar una carpeta a l'arrel de destinació, anomenada "rdiff-backup-data". Allà guarda tots els increments binaris (versions) dels fitxers guardats, a més d'altre informació.
rdiff-backup -r 5D ~/Destina/Exemple/fitxer ~/Origen/Exemple/fitxer
Tenim diverses maneres d'especificar quina versió volem recuperar, per exemple:
30m5s
2020-04-19
$ rdiff-backup -l ~/Destina/README.txt
Found 2 increments:
README.txt.2020-05-17T13:07:51+02:00.missing Sun May 17 13:07:51 2020
README.txt.2020-05-17T13:35:09+02:00.diff.gz Sun May 17 13:35:09 2020
rdiff-backup ~/Destina/rdiff-backup-data/increments/README.txt.2020-04-19T11:41:16+02:00.snapshot.gz ~/Origen/README.txt
rdiff-backup detecta que el origen es un fitxer incremental i automàticament es posa en mode recuperació (per això no hem d'especificar el modificador -r)
rdiff-backup --exclude /media/USBextern / /media/USBextern
Encara que rdiff-backup ja fa aquesta feina de detectar i evitar loops infinits.
rdiff-backup --exclude /media --exclude /mnt --exclude /tmp --exclude /proc / /media/USBextern
rdiff-backup --include /usr/local --exclude /usr --exclude /proc / /media/USBextern
rdiff-backup --include /home --exclude '**' / /media/USBextern
rdiff-backup --include-globbing-filelist filelist.txt / /media/USBextern
Les línies d'excludes han de començar amb -
Podem esborrar versions de backup més antic d'una determinada data. Per exemple, per esborrar tot els més antic a 12 setmanes:
rdiff-backup --remove-older-than 12W ~/Destina
Vol dir que si tenim un fitxer en origen que no ha canviat en un any, no es veure afectat per aquesta instrucció. En canvi, si hem esborrat un fitxer fa 13 setmanes, executant aquesta instrucció si que perdríem tots els seus backups.
find ~/Destina -iname 'README*'
rdiff-backup --list-changed-since 1D ~/Destina
rdiff-backup, genera una carpeta a l'arrel de destinació, anomenada "rdiff-backup-data". Allà guarda tots els increments binaris (versions) dels fitxers guardats, a més d'altre informació. Per exemple hi han uns fitxers session-statistics (un per sessió de backup) dels que podem extreure informació estadística:
rdiff-backup --calculate-average ~/tmp/Destina/rdiff-backup-data/session_statistics*