Скрипт резервного копирования Kimai с использованием restic

Связанные посты:

Настройка скрипта резервного копирования

Сначала сгенерируйте пароль шифрования с помощью

kimai_backup.sh
pwgen 30 > .restic_password

Обязательно создайте резервную копию этого пароля отдельно, иначе ВСЕ ВАШИ ДАННЫЕ БУДУТ ПОТЕРЯНЫ!

kimai_backup.sh
#!/bin/bash
export NAME=$(basename $(pwd))
export RESTIC_REPOSITORY=rest:http://restic:abc123@10.1.2.3:16383/$NAME
export RESTIC_PASSWORD_FILE=.restic_password

if [ ! -f "${RESTIC_PASSWORD_FILE}" ]; then
   echo "Please create .restic_password with the backup encryption password AND BACKUP THAT PASSWORD SEPARATELY!!!"
   exit 1
fi
echo "Initing repo, please ignore any 'already exists' errors"
if [ ! -f ".restic_inited" ]; then
  # Выполнить команду restic init
  restic init

  if [ $? -eq 0 ]; then # if init successful
    # Создать файл инициализации
    touch ".restic_inited"
    echo "Restic initialized"
  fi
fi

# Backup
source .env
docker-compose exec -T mariadb mysqldump -uroot -p${MARIADB_ROOT_PASSWORD} --all-databases | restic --verbose backup --stdin --stdin-filename="mariadb.sql"
# Backup files
restic --verbose backup kimai_var backup.sh docker-compose.yml --exclude kimai_var/cache

Автоматический запуск скрипта резервного копирования

См. Как создать Systemd таймер и сервис резервного копирования за 10 секунд

TL;DR: В каталоге, где находится backup.sh, выполните

install_backup_service.sh
wget -qO- https://techoverflow.net/scripts/create-backup-service.sh | sudo bash /dev/stdin

Check out similar posts by category: Restic