Скрипт резервного копіювання InvenTree на основі bup
Примітка: Я замінив резервне копіювання на основі bup на restic.
Встановіть за допомогою Як створити таймер та сервіс резервного копіювання systemd за 10 секунд
Розмістіть цей файл у тому ж каталозі, що й ваш файл docker-compose.yml, і зробіть його виконуваним.
backup.sh
#!/bin/bash
export NAME=$(basename $(pwd))
export BUP_DIR=/var/bup/$NAME.bup
export REMOTE_BUP_DIR=/bup-backups/$NAME.bup
export REMOTE_SERVER=10.1.2.3
export BUP_REMOTE=$REMOTE_SERVER:$REMOTE_BUP_DIR
# Створити архіви резервних копій
docker-compose run inventree-server invoke backup
bup_directory() {
echo "BUPing $1"
bup -d $BUP_DIR index $1 && bup -d $BUP_DIR save -r $BUP_REMOTE -9 --strip-path $(pwd) -n $1 $1
}
# Ініціалізація
#bup -d $BUP_DIR init -r $BUP_REMOTE
# Зберегти PostgreSQL
#docker-compose exec -u gitlab-psql gitlab pg_dump -h /var/opt/gitlab/postgresql/ -d gitlabhq_production | bup -d $BUP_DIR split -r $BUP_REMOTE -n $NAME-pgdump.sql
# Зберегти каталоги
bup_directory config
bup_directory data
# Резервне копіювання самого себе
bup_directory backup.sh
bup_directory docker-compose.yml
# ОПЦІОНАЛЬНО: Додати інформацію par2
# Це рекомендується лише для резервного копіювання на ненадійних носіях або для надзвичайно критичних резервних копій
# Якщо у вас вже є захист від битроту (наприклад, BTRFS із регулярним скрабуванням), це може бути зайвим.
# Розкоментуйте цей рядок, щоб увімкнути:
# bup on $REMOTE_SERVER -d $REMOTE_BUP_DIR fsck -g
# ОПЦІОНАЛЬНО: Очистити старі резервні копії
bup on $REMOTE_SERVER -d $REMOTE_BUP_DIR prune-older --keep-all-for 1m --keep-dailies-for 6m --keep-monthlies-for forever -9 --unsafeДивіться схожі статті за категоріями:
Backup
Якщо ця стаття допомогла вам, будь ласка, подумайте про те, щоб купити мені каву або зробити пожертву через PayPal на підтримку досліджень та публікації нових статей на TechOverflow