diff options
author | Quentin Dufour <quentin@deuxfleurs.fr> | 2022-05-16 18:37:52 +0200 |
---|---|---|
committer | Quentin Dufour <quentin@deuxfleurs.fr> | 2022-05-16 18:37:52 +0200 |
commit | 1a5b62d254a364c34cf6b8d346cd829acb398bf4 (patch) | |
tree | 8d9457e5efe5f9c83fa3a8819c2b112d3491e534 /content/operations/sauvegardes/rclone.md | |
parent | 478bbc9dad2969386ee6f168c9e7a0a14c4d1f9a (diff) | |
download | guide.deuxfleurs.fr-1a5b62d254a364c34cf6b8d346cd829acb398bf4.tar.gz guide.deuxfleurs.fr-1a5b62d254a364c34cf6b8d346cd829acb398bf4.zip |
Ajout doc sauvegarde
Diffstat (limited to 'content/operations/sauvegardes/rclone.md')
-rw-r--r-- | content/operations/sauvegardes/rclone.md | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/content/operations/sauvegardes/rclone.md b/content/operations/sauvegardes/rclone.md new file mode 100644 index 0000000..85868c0 --- /dev/null +++ b/content/operations/sauvegardes/rclone.md @@ -0,0 +1,76 @@ ++++ +title = "rclone" +description = "rclone" +weight = 20 +sort_by = "weight" ++++ + +Script de backup brut, on planifie une approche plus élégante à l'avenir : + +``` +#!/bin/bash + +cd $(dirname $0) + +if [ "$(hostname)" != "io" ]; then + echo "Please run this script on io" + exit 1 +fi + +if [ ! -d "buckets" ]; then + btrfs subvolume create $(pwd)/buckets +fi + + +AK=$1 +SK=$2 + +function gctl { + docker exec garage /garage $@ +} + +gctl status +BUCKETS=$(gctl bucket list | tail -n +2 | cut -d " " -f 3 | cut -d "," -f 1) + +for BUCKET in $BUCKETS; do + case $BUCKET in + *backup*) + echo "Skipping $BUCKET (not doing backup of backup)" + ;; + *cache*) + echo "Skipping $BUCKET (not doing backup of cache)" + ;; + *) + echo "Backing up $BUCKET" + + if [ ! -d $(pwd)/buckets/$BUCKET ]; then + mkdir $(pwd)/buckets/$BUCKET + fi + + gctl bucket allow --key $AK --read $BUCKET + rclone sync --s3-endpoint http://localhost:3900 \ + --s3-access-key-id $AK \ + --s3-secret-access-key $SK \ + --s3-region garage \ + --s3-force-path-style \ + --transfers 32 \ + --fast-list \ + --stats-one-line \ + --stats 10s \ + --stats-log-level NOTICE \ + :s3:$BUCKET $(pwd)/buckets/$BUCKET + ;; + esac +done + +# Remove duplicates +#duperemove -dAr $(pwd)/buckets + +if [ ! -d "$(pwd)/snapshots" ]; then + mkdir snapshots +fi + +SNAPSHOT=$(pwd)/snapshots/buckets-$(date +%F) +echo "Making snapshot: $SNAPSHOT" +btrfs subvolume snapshot $(pwd)/buckets $SNAPSHOT +``` |