Backups & Sync¶
Backups con git GUI para git: https://www.gitkraken.com/ Basado en git: https://github.com/bup/bup
Syncthing parece piola: https://wiki.archlinux.org/index.php/Synchronization_and_backup_programs - Git-annex y sparkleshare estan basados en git. - Backups incrementales hay varias opciones: borg, bup, kup.
Varias cosas para cloud storage (google drive xej): https://wiki.archlinux.org/index.php/Synchronization_and_backup_programs#Third-party_services
Important file list for Linux reinstall¶
Home¶
https://stackoverflow.com/questions/16647476/how-to-rsync-only-a-specific-list-of-files
cd
ls -1Ap --group-directories-first
# Home backup
rsync -arvh --files-from=home_file_list.txt ~/ ./home_files
# System backup
rsync -arvh --files-from=system_file_list.txt / ./system_files
Carpetas:
.gitkraken/
.gnupg/
.hplip/
.kde4/
.mozilla/
.ovpn/
.pulse/
.ssh/
.zotero/
Las carpetas ".local" y ".config" pueden ser muy pesadas. De estas hay que quedarse con lo importante
.config/minidlna/
.config/kde.org/
.config/jack/
.config/autostart/
.config/baloofilerc
.config/dolphinrc
.config/kde-add-printerrc
.config/kdeglobals
.config/kglobalshortcutsrc
.config/khotkeysrc
.config/kioslaverc
.config/ktimezonedrc
.config/kuprc
.config/kwinrc
.config/kxkbrc
.config/mimeapps.list
.config/plasmarc
.config/plasmashellrc
.config/powerdevilrc
.config/powermanagementprofilesrc
.config/tabletdblocalrc
.config/tabletprofilesrc
.config/touchpadxlibinputrc
.config/Nextcloud
.config/sublime-text-3
.config/syncthing
.local/share/dolphin
.local/share/flatpak/overrides/com.valvesoftware.Steam
.local/share/keyrings
.local/share/konsole
.local/share/ksysguard
.local/share/kwalletd
Archivos:
.local/share/flatpak/overrides/com.valvesoftware.Steam
.asoundrc
.bash_history
.bash_profile
.bashrc
.bCNC
.bCNC.history
.gitconfig
.profile
.xinitrc
.xmodmap
.zsh_history
.zshrc
System¶
Una lista de archivos del sistema que quizas sea importante backupear:
/etc/hosts
/etc/pacman.d/mirrorlist
/etc/systemd/journald.conf
/usr/share/X11/xkb/symbols/us_nico
/usr/share/X11/xkb/rules/base.lst
/usr/share/X11/xkb/rules/evdev.xml
/usr/share/X11/xkb/rules/evdev.lst
/usr/share/X11/xkb/rules/base.xml
/etc/nsswitch.conf
/etc/ssh/sshd_config
/etc/intel-undervolt.conf
/etc/fstab
/usr/bin/orientation-helper
/usr/share/X11/xorg.conf.d/10-quirks.conf
/usr/share/X11/xorg.conf.d/40-libinput.conf
/usr/share/X11/xorg.conf.d/70-wacom.conf
/etc/X11/xorg.conf.d
/etc/pacman.conf
/etc/minidlna.conf
/etc/pulse/daemon.conf
/etc/udev/rules.d/10-qemu.rules
/etc/libvirt/qemu.conf
/etc/systemd/system/gvtvgpu.service
/etc/mkinitcpio.conf
/etc/systemd/swap.conf
/etc/environment
/etc/locale.conf
FreeFileSync¶
For fuck's sake: https://freefilesync.org/
Unison¶
Es importante bajar la misma versión de unison en ambas PCs y ademas compilarlo con la misma versión del compilador. Si, no anda... malísimo.
La alternativa es usar sshfs para montar el remoto localmente, y usar unison "pseudo-localmente".
Para ignorar cosas editar ~/.unison/archivo_tipo.prf
:
ignore = Name {*/,.*/}.git
ignore = Name {*/,.*/}.Rproj.user
ignore = Name .Rhistory
ignore = Name .gitignore
BUP y Kup¶
Como usar bup:
- https://github.com/bup/bup
- https://debian-administration.org/users/kumanna/weblog/16
- https://mharrison.org/post/bup/
Algunos comandos que usa Kup:
# check and fix errors https://github.com/bup/bup/blob/master/Documentation/bup-fsck.md
bup -d "/run/media/nicomic/canviohdd/Bakups/archKup" fsck -r --quick -j 7
Se puede "examinar" los cambios entre backups de Bup con un ls:
# Esta variable está configurada con export en mi .bashrc
BUP_DIR=/path/al/backup
bup fuse -d /path/al/mount/point
ls -Rg ./latest > ~/latest.txt
# Y despues usar Diff para ver cuáles fueron los cambios
diff ~/not_the_latest.txt ~/latest.txt
# Seguramente se pueda montar solo latest si sirviera para que sea más rápido
Kup tiene toda la configuracion guardada en: ~/.config/kuprc
bup ahora en el AUR¶
Preferí instalarlo desde git: https://github.com/bup/bup
sudo pacman -S acl attr par2cmdline readline python2-tornado rsync pandoc
sudo pacman -S python2-pip
sudo pip2 install pylibacl
sudo pip2 install pyxattr
sudo pip2 install fuse
git clone https://github.com/bup/bup
cd bup
git checkout 0.29.1
make check
RClone Google Drive backup¶
Usar BUP para tener versiones es más simple, pero también más difícil de consultar.
Usando solo rclone¶
Procedimiento:
Primero reemplazar "20191019" por la nueva fecha en este .txt
- --dry-run y nombrar el log: 20191019.dry.rclone.log
- backup (con sync y --drive-alternate-export). Rehacer si hubo errores.
- hard-link copy: 20191019.hardLinkCopy
- ls recursivo ls.20191019.log
1) Prueba:
Revisar que esté todo bien.
rclone sync RCLONE_BACKUP:/ /pathToBackup/RCLONE_DIR/ --drive-alternate-export --dry-run >> 20191019.dry.rclone.log.txt 2>> 20191019.dry.rclone.log.txt
2) Backup:
2A. rclone sincronizando (borrando lo que se borró en drive, normalmente hago esto):
rclone sync RCLONE_BACKUP:/ /pathToBackup/RCLONE_DIR/ --drive-alternate-export >> 20191019.rclone.sync.log.txt 2>> 20191019.rclone.sync.log.txt
2B. rclone copiando lo nuevo:
rclone copy RCLONE_BACKUP:/ /pathToBackup/RCLONE_DIR/ --drive-alternate-export >> 20191019.rclone.copy.log.txt 2>> 20191019.rclone.copy.log.txt
3) Hard-link
Para hacer copias con hard links al final.
cp -al /pathToBackup/RCLONE_DIR/ /pathToBackup/BACKUP_DIR/20191019.hardLinkCopy
Podría usar bup en vez de hard-links, pero como los archivos no cambian creo que da igual en cuanto a espacio de almacenamiento.
4) ls recursivo
Al final debería hacer un ls -Rl que sirva para ver diferencias con DIFF o Kdiff3.
ls -gGhR --time-style=long-iso /pathToBackup/RCLONE_DIR/ > ls.20191019.log
Versionando con BUP¶
Es más simple, primero veo qué cambios se bajarína del Drive con la carpeta local y guardo los logs.
rclone sync Frubox:/ ~/Bakups/Frubox/ --drive-alternate-export --dry-run >> logs_rclone/20200417.rclone.dry_run.log.txt 2>> logs_rclone/20200417.rclone.dry_run.log.txt
Luego de hacer correcciones en el Drive, bajo los cambios se bajarína del Drive con la carpeta local y guardo los logs.
rclone sync Frubox:/ ~/Bakups/Frubox/ --drive-alternate-export >> logs_rclone/20200417.rclone.sync.log.txt 2>> logs_rclone/20200417.rclone.sync.log.txt
Luego uso KUP para guardar la nueva versión de la carpeta local. De esta manera siempre tengo la última version disponible en mi computadora y puedo revisar versiones anteriores.
Efectivamente se desperdicia un poco de espacio porque la carpeta está guardada una vez de forma normal, y por duplicado en el backup de BUP. No está mal supongo.