Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

GoBackup - Pour sauvegarder vos bases de données facilement

Vous savez, ce script bash de backup que vous avez écrit en 2018 et que vous n’osez plus toucher ? Celui avec les 150 lignes de mysqldump + tar + gzip + aws s3 cp qui marche à moitié et que vous relancez manuellement quand il plante ?

Hé bien vous allez pouvoir le foutre à la poubelle parce que maintenant y’a GoBackup !

GoBackup c’est un binaire codé en Go qui remplace tous vos scripts de backup maison d’un coup. MySQL, PostgreSQL, MongoDB, Redis, peu importe. Local, FTP, S3, Google Cloud, Azure, peu importe. Vous installez, vous configurez un fichier YAML, et c’est fini.

Ensuite, vous n’aurez plus jamais besoin de retoucher à tout ce bordel.

Avant GoBackup y’avait backup/backup, une gem Ruby qui faisait exactement ce job avec de la sauvegarde automatique, multi-bases, multi-destinations et c’était bien. Sauf que Ruby c’est lourd et les dépendances Ruby c’est l’enfer. Du coup le projet est mort tout doucement. Heureusement, huacnlee, un dev chinois, en a eu marre alors il a tout réécrit en Go. Zéro dépendance externe et un seul binaire compilé (installable aussi avec Brew pour ceux qui sont sous macOS).

Vous pouvez l’installer comme ceci (vérifiez le script) :

curl -sSL https://gobackup.github.io/install | sh

Ou via homebrew comme ceci :

brew install gobackup

Avec GoBackup, vous définissez vos bases de données, vos fichiers à archiver, vos destinations de stockage, votre planning, tout dans un fichier YAML propre et ensuite le binaire gère tout : Compression, chiffrement, upload, rotation des backups, notifications si ça échoue…etc. Bref, tout ce que vous faisiez à la main avec vos scripts pourris.

Et GoBackup est pas juste un CLI (Interface en ligne de commande). C’est un CLI + un daemon + une Web UI + un scheduler. Comme ça vous lancez “gobackup start” et ça tourne en background.

Le daemon surveille alors le planning défini dans votre config et lance les backups automatiquement. Et l’interface web vous permet de voir l’état des backups, les logs, les erreurs.

Avec GoBackup, vous remplacez littéralement 5 outils en un : votre script bash + cron + un monitoring pourri + un truc pour lire les logs + l’interface d’admin que vous avez jamais eu le temps de faire.

Votre config ressemble à ça :

models:
 mon_app:
 compress:
 type: tgz
 databases:
 mon_mysql:
 type: mysql
 host: localhost
 database: ma_base
 username: user
 password: $MYSQL_PASSWORD
 storages:
 mon_s3:
 type: s3
 bucket: mes-backups
 region: eu-west-1
 access_key_id: $AWS_KEY
 secret_access_key: $AWS_SECRET
 schedule:
 every: 1day
 at: "04:05"

Et c’est tout. Avec ce fichier, GoBackup dump votre base MySQL tous les jours à 4h05, compresse en .tar.gz, chiffre si vous voulez, et upload sur S3. Et si ça échoue vous recevez une notif. Et si ça marche vous avez les logs comme ça, pas besoin de surveiller, ni de débugger à 3h du matin parce que le backup a planté et que vous avez perdu 6 mois de données.

Notez quand même que GoBackup fait du backup classique, et pas du backup incrémental intelligent à la Restic ou à la Borg donc si vous avez 500 GB de données à backup tous les jours vous allez peut-être préférer un outil plus sophistiqué mais pour 90% des cas d’usage sysadmin standard, GoBackup suffira largement.

Votre script bash dégeu a eu une belle vie, il peut maintenant partir à la retraite.

Cryptr – Chiffrez vos fichiers comme un pro avec ce script bash

Cryptr, c’est un script bash bien pratique qui va vous permettre de chiffrer et déchiffrer vos fichiers sensibles en deux temps trois mouvements, le tout proprement et avec une sécurité au top grâce à OpenSSL AES-256.

Si comme moi, vous avez tendance à stocker tout un tas de données confidentielles sur votre ordi (mots de passe, documents perso, photos compromettantes de votre dernière soirée déguisée…), vous savez à quel point c’est important de les protéger des regards indiscrets. Bon ok, on n’est pas tous paranos au point d’avoir peur que la NSA ou Gérald vienne fouiller dans nos fichiers, mais on n’est jamais trop prudent !

Avec ce truc, fini de vous prendre la tête avec des solutions de chiffrement compliquées à mettre en place. Il vous suffit de cloner le projet depuis le dépôt GitHub :

git clone https://github.com/nodesocket/cryptr.git

Ensuite, créez un lien symbolique vers le script cryptr.bash pour pouvoir l’utiliser facilement depuis n’importe où :

ln -s "$PWD"/cryptr/cryptr.bash /usr/local/bin/cryptr

Et voilà, vous êtes parés pour chiffrer vos petits secrets comme un pro ! La commande encrypt vous permet de chiffrer un fichier en lui ajoutant l’extension .aes, tandis que decrypt fait l’opération inverse.

cryptr encrypt ./secret-file
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
ls -alh
-rw-r--r-- 1 user group 1.0G Oct 1 13:33 secret-file
-rw-r--r-- 1 user group 1.0G Oct 1 13:34 secret-file.aes

Vous pouvez même définir le mot de passe à utiliser via la variable d’environnement CRYPTR_PASSWORD pour automatiser le processus :

➜ CRYPTR_PASSWORD=motdepasse007 cryptr encrypt ./secret-file

Franchement, c’est tellement simple et efficace que même James Bond Raymonde peut en faire son outil préféré. Bref, si vous cherchez une solution de chiffrement simple et efficace pour protéger vos données sensibles, je vous recommande vraiment de tester Cryptr.

❌