Introducción

Recentemente tiven que reinstalar o sistema operativo no portátil. A actualización de Debian 12 a 13 non foi ben e o sistema deixou de arrancar. Así que aproveitei para instalar e probar openSuse Tumbleweed, xa escribirei para explicar que tal vai, da instalación non hai nada que comentar. Faino todo automáticamente, mesmo activar as snapshots de BTRFS que en Fedora había que facer a man. O caso é que unha vez instalado o sistema, quixen recuperar os backups que tiña. Cando o fago dende a Raspberry, para testar que funcionan, non era máis que extraer ou montar o ficheiro e listo. Aquí sen embargo tiven máis problemas, ao ter varias claves ssh e demais. Así que quero expandir un pouco máis o proceso, que no artigo anterior quedaron cousas sen engadir.

Conectar co servidor remoto escollendo a clave

Cando temos varias claves ssh e tentamos conectar cun server remoto, con Borgbackup ou non, o sistema colle a clave por defecto. No caso de ssh podemos emparellar as claves co servidor no ficheiro known_hosts, pero parece que con Borgbackup isto non é así. Outra opción que temos para facer a conexión manual é indicar a clave ssh -i /camiño/á/chave. Esta é a orde que precisei para conectar con Borgbackup. Neste caso temos dúas opcións, na primeira podemos facelo de xeito temporal, só para o comando actual, do seguinte xeito.

BORG_RSH="ssh -i /camiño/á/chave" borg list usuario@remoto:/ruta

Tamén temos a opción de exportar a variable para que esté dispoñible en varias ordes. Se queremos que sempre esté dispoñible, podemos engadir o export ao noso ficheiro .bashrc, .zshrc, ou o da terminal que usemos.

export BORG_RSH="ssh -i /camiño/á/chave"

Unha vez executado isto, xa podemos executar os comandos sen máis. Por exemplo como no anterior, se queremos listar os ficheiros de backup que temos nunha ruta, sería borg list usuario@remoto:/ruta.

Xa con isto teremos acceso con normalidade.

Montando o backup

Isto xa o explicara no artigo anterior, pero así queda tamén neste recollido o proceso compreto para recuperar ficheiros. Se non queremos recuperar unha copia compreta, se non que queremos uns poucos ficheiros, podemos montar o backup coma se fose unha unidade externa. Desta forma poderemos navegar polas carpetas e copiar o que queiramos. Para isto executaremos o comando seguinte:

borg mount ssh://usuario@SERVER_IP:/ruta/backup::ficheiro-backup /punto/montaxe

Ao igual que ocorre co mount tradicional, necesitamos permisos na carpeta destino ou executalo con sudo.
Para desmontar a unidade, simplemente borg umount /punto/montaxe. Outra vez con sudo de ser preciso.

Extraendo o backup compreto

No escenario de hoxe, eu quería recuperar os backups compretos. Os ficheiros da home, os proxectos, etc. Polo que o que utilicei foi a opción de extract por cada backup a recuperar. Executando o seguinte comando dende a carpeta destino, xa nos meterá aí os ficheiros.

borg extract ssh://usuario@SERVER_IP:/ruta/backup::backup-file

E con isto xa teño de volta todo-los meus datos recuperados.

Conclusión

Como vedes é moi útil ter unha copia de seguridade dos datos ao día. Por se pasan cousas coma esta, ou que se averíe o disco, etc. O único que fixo que o proceso de instalación se alongase máis do que me gustaría foi a reinstalación dos programas. Neste caso era algo inebitable, xa que era a primeira vez que utilizo openSuse. Pero se fose algún sistema habitual, hai ferramentas para automatizar isto. Unha das cousas que teño pendentes de ver para isto é Ansible. A ver se dou quitado tempo nalgún momento e así facilito as instalacións de cero e podo ter a mesma configuración en tódolos equipos.

Fontes