No description
  • Shell 51.8%
  • Go 48.2%
Find a file
2026-07-02 13:23:21 +02:00
backup.sh add sh256-better verbosse and speed lz4 2026-07-02 13:22:19 +02:00
main.go add sh256-better verbosse and speed lz4 2026-07-02 13:22:19 +02:00
readme.md add sh256-better verbosse and speed lz4 2026-07-02 13:23:21 +02:00

cat << 'EOF' > README.md

🔒 Local Backup Sync (Go + Bash + PGP)

Système ultra-léger de sauvegarde chiffrée de bout en bout pour tes notes Logseq ou tes Documents. Le serveur stocke les fichiers mais ne peut pas les lire (Zéro Confiance).


🚀 1. Le Serveur (Sur la machine de stockage)

Le serveur gère le stockage des fichiers .gpg et indique quel est le backup le plus récent.

Lancement rapide :

  1. Initialise le projet : go mod init backup-server
  2. Compile le binaire : go build -o backup-server main.go
  3. Lance le serveur : ./backup-server

Le serveur écoute sur le port 5000 et crée un dossier ./stored_backups.


💻 2. Le Client (Sur tes machines de travail)

Prérequis

  • Installer lz4
  • Avoir ta clé PGP (la même clé privée + publique) sur toutes tes machines.

Configurer GPG par défaut

Trouve ton ID de clé : gpg --list-secret-keys --keyid-format LONG Ouvre ou crée le fichier ~/.gnupg/gpg.conf et ajoute : default-key TON_ID_DE_CLE_ICI

Configurer le script backup.sh

Modifie les variables en haut de ton script : TARGET_DIR="$HOME/Documents/NOTES" # Dossier à sauvegarder REMOTE_URL="http://192.168.1.49:5000" # IP de ton serveur Go

Rends-le exécutable : chmod +x backup.sh


📖 Utilisation

Lance le script : ./backup.sh

  • Option 1 : Compresse, chiffre/signe avec PGP et envoie au serveur.
  • Option 2 : Compare les dates. Si le serveur a un fichier plus récent, il le télécharge, vérifie la signature PGP, le déchiffre et l'extrait en écrasant l'ancien dossier.

🔄 Automatisation (Crontab)

Pour automatiser la synchro, ouvre ton crontab : crontab -e et ajoute :

Synchro descendante à chaque démarrage de la machine

@reboot /chemin/vers/backup.sh <<< "2"

Sauvegarde montante automatique toutes les heures

0 * * * * /chemin/vers/backup.sh <<< "1" EOF