Archives par mot-clé : borg

Borg backup version 2 est arrivé

Quelques nouveautés avec borg version 2, les commandes changent un peu, il est plus rapide, plus dur, meilleur, plus fort. Fait amusant, je l’ai utilisé sans savoir que c’était une référence à une série pas très connue que seuls des gens vachement plus vieux que moi regardaient.

On va commencer par définir un fichier contenant un mot de passe que Borg va pouvoir utiliser pour chiffrer les fichiers du dépot.

On définit quelques variables en Bash dans un fichier afin de ne pas avoir à se répéter partout. Faites chauffer votre terminal préféré:

# --------- archives dans un pool zfs nommé poule sur mon ordinateur nommé spaceship.
# --------- Ce nommage est arbitraire, vous pouvez bien sûr mettre ce que vous voulez et sauvegarder plusieurs dossiers tout aussi arbitraires.
# --------- Pour cet exemple on va dire que ce qu'on veut sauvegarder n'est pas l'intégralité de notre home mais un autre dossier auquel on fera référénce via une variable en bash par la suite.

export ARCHIVE_SYNCABLE="/home/poule/encrypted/stockage-syncable" # place where we have our things sorted, other than home
export BORG_PASS_FILE="$ARCHIVE_SYNCABLE/.ma-borg-passphrase"
mkdir -p $ARCHIVE_SYNCABLE

editor BORG_PASS_FILE # on définit notre phrase de passe dans notre éditeur de texte favori
export BORG_PASSCOMMAND="cat $BORG_PASS_FILE" # get the borg repo pass

export SPACESHIP_NEW_BORG_REPO="/home/poule/borg_archives/borg2_spaceship"
export BORG_REPO=$SPACESHIP_NEW_BORG_REPO

# --------- gestion des exclusions de dossier à sauvegarder
EXCLUDE=( ".yarn" ".nvm" "cache" ".cache" "Cache" "Steam" "steamapps" ".npm" ".yarn" "node_modules" ".mozilla" "vendor" "Steam" ".rbenv" ".config/borg" "@eaDir" "steamapps" "bower_components" ".cargo" ".gem" ".BOINC")
exclude_opts=()

for item in "${EXCLUDE[@]}"; do
exclude_opts+=( --exclude="$item" )
done

export exclude_opts

# --------- création du dossier qui va contenir notre dépot borg
mkdir -p $SPACESHIP_NEW_BORG_REPO

# --------- Installation de borg version 2 avec pip
pip install "borgbackup==2.0.0b5"
borg --version

# --------- vous devriez voir marqué "borg 2.0.0b5", si vous ne le voyez pas, relancez votre terminal

Et voilà on peut maintenant créer une nouvelle sauvegarde avec un dossier contenant peu de choses dans un premier temps.


Créer un nouveau dépôt

Ici on demande la création d’un dépot chiffré par plusieurs algorithmes contenant sa clé, qui nécessite une phrase de passe, que nous avons défini dans un fichier texte ci dessus. La variable BORG_PASSCOMMAND sera utilisée par borg pour aller chercher cette phrase.

borg rcreate --encryption=repokey-blake2-aes-ocb -r $BORG_REPO

# et voilà un "repository" créé, on va pouvoir le remplir de plusieurs sauvegardes

Créer une archive dans le dépôt

pour l’exemple j’ai précisé que je souhaitais une compression zstd de niveau 9, soit le niveau maximum.

borg create $BORG_REPO::encrypted_spaceship_{now} $ARCHIVE_SYNCABLE "${exclude_opts[@]}" --progress --verbose --stats --compression zstd,9

Pour notre exemple, la partie $ARCHIVE_SYNCABLE désigne un dossier que l’on veut inclure dans notre sauvegarde, mais on peut mentionner plusieurs chemins vers des dossiers ou des fichiers séparés d’un espace si on le veut.

Enlever les anciennes sauvegardes de notre dépot en faisant un tri automatique.

borg prune -r /home/poule/borg_archives/orgmode --list \
--list \
--match-archives 'sh:{hostname}-*' \
--show-rc \
--keep-daily 7 \
--keep-weekly 4 \
--keep-monthly 6


Pour convertir votre archive borg existante, y’a une commande mais ça ne marche pas 😀

Automatiser dans un cronjob

Plus qu’a faire vos commandes dans un fichier exécutable, par exemple localisé dans un dossier nextcloud situé ici: ~/Nextcloud/ressources/workflow_nextcloud/sync_spaceship.sh et à le lancer périodiquement dans un cronjob. Pour modifier votre table de commandes cron:

crontab -e

Et rajouter ceci dans votre crontab pour lancer ce script toutes les 20 minutes par exemple:

# lancer le script de sauvegarde toutes les 
*/20 * * * * /bin/bash ~/Nextcloud/ressources/workflow_nextcloud/sync_spaceship.sh

Le site web crontab.guru pourra vous aider à clarifier la périodicité de vos sauvegardes. Pour déterminer une périodicité optimale, il faut voir le temps que prend votre sauvegarde à se faire.

Il est aussi possible d’utiliser Borgmatic qui se chargera de vos sauvegardes borg selon un fichier de configuration. Ou encore Ansible et son rôle borg backup.

Vous trouverez la doc complète d’installation de plusieurs façons et le détail des commandes sur le site de documentation de borgbackup

have fun et bonne stratégie de backup!

Si vous aimez ce que nous faisons à Cipher Bliss, vous pouvez nous soutenir de plusieurs façons: en faisant un micro don sur liberapay , ou en cryptomonnaies. Le plus simple nous pour nous faire connaître étant de partager cet article.
Suivez moi sur Mastodon @tykayn@mastodon.cipherbliss.com.
Ce site restera libre comme un gnou dans la nature et sans pubs, parce qu'on vous aime. Que la source soit avec vous!

Des sauvegardes qui durent mille ans

J’ai animé un atelier au cours du premier camp CHATONS qui a eu lieu le week-end dernier. (Le Collectif des Hébergeurs Alternatifs, Transparents, Ouverts, Neutres et Solidaires vise à rassembler des structures proposant des services en ligne libres, éthiques et décentralisés afin de permettre aux utilisateur⋅ices de trouver rapidement des alternatives respectueuses de leurs données et de leur vie privée)

Pas de compte rendu du camp en lui même pour tout de suite, cependant voici un résumé de l’atelier qui aura duré près d’une heure.
https://libreto.sans-nuage.fr/camps-chatons/programme

Comment se protéger des pertes de données et ne pas perdre la confiance et les précieuses données des membres de son CHATONS?

L’atelier aborde la définition d’un modèle de menace pour savoir contre quoi se prémunir, et quels critères de qualité utiliser pour réaliser automatiquement ses sauvegardes en tant que particulier, ou en tant que CHATONS.
On y voit de la façon la plus « grand public » à la façon la plus « techno geek » comment récupérer ses données éparpillées en ligne, historiser, chiffrer, dédupliquer, compresser, répliquer, partager les clés d’accès, et prévoir des restaurations périodiques, de sorte que les données les plus cruciales survivent à leurs administrateurs et administratrices.

Jancovici et le stockage à froid, une remarquable utilisation des couches géologiquement stables


Liens:
Les slides sont disponibles ici:
https://slides.com/tykayn/les-sauvegardes-automatiques

La feuille de calcul pour cartographier son matériel
https://cloud.tykayn.fr/index.php/s/KQfYHpaSpgwrWam

Le site des CHATONS:
https://www.chatons.org

Le forum où tout se discute:
https://forum.chatons.org

La documentation pour ne pas réinventer la roue:
https://wiki.chatons.org

Si vous aimez ce que nous faisons à Cipher Bliss, vous pouvez nous soutenir de plusieurs façons: en faisant un micro don sur liberapay , ou en cryptomonnaies. Le plus simple nous pour nous faire connaître étant de partager cet article.
Suivez moi sur Mastodon @tykayn@mastodon.cipherbliss.com.
Ce site restera libre comme un gnou dans la nature et sans pubs, parce qu'on vous aime. Que la source soit avec vous!

Plan d’archivage et de backup

  1. Plan d’archivage et de backup
  2. Choix d’outil pour la gestion de projets
  3. Organiser ses fichiers avec des tags avec filetags
  4. Outils pour un nommage de fichiers retrouvables
  5. Archiver automatiquement ses photos de téléphone
  6. Supprimer les doublons avec un Baobab et Czkawka
  7. script rff : Rename file folder

Il vous est probablement déjà arrivé de perdre beaucoup de choses à la mort d’un disque dur ou d’un ordiphone. Ou en ayant des vil malfrats qui dérobent votre matos. Ou en ayant un incendie chez vous si vous avez vraiment pas de bol. Les faits sont là, les disques durs meurent et les services de cloud ferment, la pérennité des données est importante et il ne faut pas compter sur les autres si vous voulez conserver votre vie privée, vos travaux, vos carnets d’adresse et vos souvenirs. Il y a un moment où vous devez prendre en main la gestion de la pérennité de vos données et développer une stratégie de backup, ou bien une fois les emmerdes passés vous n’aurez plus que vos yeux pour pleurer et vous pourrez mettre la clé sous la porte.

Une approche naïve consiste à copier coller son dossier home ou « mes documents » de temps à autre quand on y pense, sur un disque dur. Et « de temps à autre » ça signifie parfois à des mois ou des années d’écart. L’essentiel pour que les sauvegardes soient utiles et ne doublent pas de volume à chaque fois que vous en faites une, c’est d’avoir un outil adapté, simple d’utilisation et AUTOMATIQUE. Qui fonctionne tout seul sans que vous ayez besoin de plus de quelques minutes pour le mettre en place et ne plus avoir à y penser.

J’ai donc essayé pas mal de choses et ai fini par adopter une stratégie qui ressemble à ce schéma (fait avec GIMP et les icones GNOME Zafiro variant A) dont je vais détailler chaque partie ici.

Stratégie de backup avec rsync et borgbackup par tykayn – cipherbliss.com

Définir ce que l’on veut sauvegarder

Pour faire vraiment simple on va dire qu’on veut sauvegarder l’intégralité de son dossier utilisateur, mes documents pour les gens que je plains d’être sous windaube, ou son « home » sous les systèmes linux civilisés. On va mettre en place une sauvegarde automatique avec des logiciels à interface graphique. Pour les mordus de la ligne de commande et les gens qui veulent faire des scripts je partage mes scripts à la fin de l’article.

On aura besoin d’à minimum:

  • son ordi perso avec suffisamment de place.
  • un disque dur USB avec un peu plus de place que votre dossier home.
  • le logiciel Vorta pour faire les sauvegardes dans une archive compressée.
  • le logiciel Grsync pour répliquer notre archive sur d’autres disques.

Je n’ai aucune idée de la place que peut prendre votre bazar à vous, personnellement comme j’ai beaucoup de travaux de dessin, des codes sources de pas mal de projets, des photos et vidéos à la folie et des backups d’autres gens j’ai près de 1.5 téra octets de trucs à sauvegarder (avant compression). Niveau coût des disques ça va, actuellement on peut trouver des disques USB3 portables de 4 To à environ 100€, et des services de stockage en ligne pour 2To environ de ce coût à l’année. Mais vous avez probablement des disques durs externes que vous pouvez réutiliser. Ne gaspillez pas votre argent dans des disques SSD EXTERNES, ils sont beaucoup trop cher pour ce que l’on veut faire. Personnellement j’ai investi dans quelques disques usb de 4To.

C’est parti pour la récolte de données



Dans notre home on va donc mettre de façon très pragmatique tout ce que l’on veut sauvegarder dans un dossier nommé BAZAR.

On ne va pas le ranger maintenant, il est bien plus important d’avoir une sauvegarde automatique en place en premier lieu.

Donc, mettez y votre bazar personnel qui proviendrait de vos supports externes:

  • appareil photo
  • tel
  • anciens disques durs
  • autres ordinateurs
  • export de comptes en ligne (ceci prend du temps, donc notez vous juste quelque part que vous devriez le faire. Le plus gros des données que vous pourrez récupérer sera probablement chez google takeout, facebook, et dropbox. Le web est rempli de liens morts et de services décédés, utilisez votre agenda pour vous rappeler de récupérer vos données)

Comment organiser ses dossiers ?

Pour le moment il n’est pas nécessaire de vous faire une super hiérarchie de rangement dans votre home. Certains vous donneront leur façon de faire pour « sauvegarder son web », par exemple Geoffrey Dorne.

C’est passionnant de voir comment les gens s’organisent, par type d’activité (lecture, écriture, travail, sport…), par type de média (photos, vidéos, administratif…), ou avec une méthode triant les choses selon leur statut (actif, congelo, inbox, archives, façon Ploum). à vous de voir ce qui vous convient. Personnellement j’ai hâte de trouver un moyen de naviguer dans mes dossier avec un système de tags qui rendrait la hiérarchie des données beaucoup plus adaptable, en attendant je range les dossier par un mélange de type d’activité, de genre de média, et de statut d’archive.

L’important c’est que ça vous parle.

Mise en place de l’archivage automatique

Récupérer les logiciels Vorta et Grsync.

soit avec votre logithèque, soit en lançant la commande:

apt install grsync borgbackup python3-pip && pip install vorta

voici les sites à consulter pour installer ces logiciels:

https://vorta.borgbase.com/install/

https://doc.ubuntu-fr.org/grsync

Configurer votre archive avec Vorta

Notre archive, ou repository, c’est la version compressée et historisée de tout ce que l’on veut sauvegarder. On pourra donc revenir dans le temps et faire de la restauration si on veut des fois que l’on supprime un truc important et qu’on ne s’en rende pas compte tout de suite. Dans le schéma ça correspond à l’icone zip. Vorta utilise un logiciel nommé Borgbackup, qui a le gros avantage de proposer plusieurs façons de sécuriser votre archive et de réduire énormément la taille de tout ce que vous souhaitez sauvegarder, tout en faisant disparaître l’espace pris par les portions de fichiers en double. (pour moi la taille de l’archive fait 1.1 Téra au lieu de 1.5)

Dédupliquer les données est une tâche complexe lorsqu’on veut la faire à la main. Bien sûr il existe des outils pour ça, mais parfois on préfère avoir des fichiers en double pour des raisons de logiques de rangement. Borgbackup va chercher tout seul les doublons et utiliser un système de fichier dans ce but. On peut aussi formater ses disques en ZFS ou en Btrfs pour stocker ses fichiers et bénéficier de ce genre de réduction de taille de fichiers, mais ce n’est pas aujourd’hui qu’on va le faire 😀

Donc, où créer notre archive de backup?

Si votre ordinateur personnel a encore plein de place disponible, nous pouvons faire notre archive borg sur cet ordinateur. Autrement il faudra la mettre sur un disque externe, mais c’est moins bien car ça veut dire que vous avez une copie de moins de votre archive, donc davantage de chances de tout perdre. Dans le cas idéal, donc, nous devons créer un dossier en dehors de notre home (ben oui, on ne va pas mettre notre archive en copie dans notre archive-ception.

Admettons que l’on mette notre repository dans un dossier /var/mon-backup-borg

Il ne nous reste plus qu’a dire à Vorta dans l’onglet Sources que l’on veut sauvegarder le dossier home.

Sauvegarder la phrase de passe pour rendre illisible votre archive à quiconque tomberait sur votre disque externe.

Dans l’onglet Schedule on demande à ce que vorta soit lancé au démarrage de l’ordinateur et qu’il s’exécute toutes les heures.

On a plus qu’a démarrer le premier backup avec le bouton en bas, et roulez jeunesse.

 

 

Plus qu’a attendre quelques minutes ou heures selon le volume de trucs à sauvegarder et la force de compression que vous avez choisi.

Répliquez les tous

On a notre archive qui se met à jour toute seule, on a plus qu’a sauvegarder ailleurs notre sauvegarde. Pour le grand public je conseille donc d’utiliser Grsync, une interface graphique de Rsync, logiciel de syncronisation de fichiers.

Nous devons donc dire à Grsync que l’on veut copier notre repository (la source) vers un disque externe (la destination). On appuie sur syncroniser, et c’est parti.

Cool ça marche

oui, bon c’est cool tout ça, mais grsync ne va pas copier tout seul automatiquement votre repository après les sauvegardes, et si vous oubliez d’appuyer sur le bouton dans Grsync pendant longtemps, votre disque externe n’est jamais à jour. Et ce qui serait bien c’est d’avoir vos disques externes en plusieurs exemplaires, sur des lieux physiques différents. Typiquement vous pouvez confier un disque à une amie, à votre famille, à une asso ou dans un coffre enterré dans une enveloppe étanche, en faisant des permutations de disque de temps à autre 😀

Comme ça, même si chez vous survient une catastrophe vous n’aurez pas tout perdu. Et grâce au chiffrement de votre repository, même si votre autre lieu a un cambriolage, le contenu de l’archive ne sera pas lisible sans la phrase de passe.

C’est pourquoi je préfère utiliser un script de syncro qui se lance automatiquement par cronjob toutes les x minutes. Mais ça, c’est une autre histoire.

Tester la restauration

Dernier point, vérifiez que vous pouvez restaurer des fichiers avec votre repository de temps en temps. Parce que c’est bien beau de faire des archives, si elles sont corrompues ça ne vous aidera pas quand la bise sera venue. Un bon petit rappel de calendrier tous les 3 mois devrait vous aider à vérifier que tout est propre.

Faire du propre dans sa maison

En parlant de propre, vous pouvez utiliser Baobab pour visualiser les dossiers qui prennent le plus de place. Ce logiciel libre est déjà présent dans ubuntu. Le meilleur moyen d’avoir des archives utiles reste de supprimer le merdier qu’elle contient. C’est une tâche longue et difficile, mais ça vaut le coup si on veut ensuite pouvoir retrouver très rapidement des choses par un simple ctrl+f dans ses dossiers.

baobab /home

lancez le sur votre home pour trouver les trucs à virer de vos archives.

Si vous avez des astuces aussi, faites passer! 🙂

Created with GIMP

Si vous aimez ce que nous faisons à Cipher Bliss, vous pouvez nous soutenir de plusieurs façons: en faisant un micro don sur liberapay , ou en cryptomonnaies. Le plus simple nous pour nous faire connaître étant de partager cet article.
Suivez moi sur Mastodon @tykayn@mastodon.cipherbliss.com.
Ce site restera libre comme un gnou dans la nature et sans pubs, parce qu'on vous aime. Que la source soit avec vous!