From fd10e501883779f95d069e4e737d7911345b7873 Mon Sep 17 00:00:00 2001 From: Dunestorm Date: Sun, 21 Apr 2024 15:39:17 +0100 Subject: [PATCH] [Docker Backup Script v1.0] - Added Gogs to backup script. - Made various tweaks. --- docker_backup.sh | 46 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/docker_backup.sh b/docker_backup.sh index fd41a1b..3f1adbd 100644 --- a/docker_backup.sh +++ b/docker_backup.sh @@ -13,10 +13,10 @@ function update_perms() { } function list_backups() { - du -h $1 + tree -sh $1 } -function create_backup_dir() { +function create_backup_dirs() { for var in "$@" do if ! [ -d $var ]; then @@ -42,17 +42,48 @@ function bookstack() { echo "Backing up $CTR_NAME..." # Create Backup Paths - create_backup_dir $ROOT_CTR_BACKUP_PATH $CTR_BACKUP_PATH + create_backup_dirs $ROOT_CTR_BACKUP_PATH $CTR_BACKUP_PATH docker exec bookstack_db /usr/bin/mysqldump -u bookstack -p bookstackapp --password=nwb9buaBJX7bxt5pnk > $DB_BACKUP_FILE tar -czf $APP_BACKUP_FILE -P $APP_PATH/app_data/www # Change Permissions - update_perms $DB_BACKUP_FILE - update_perms $APP_BACKUP_FILE + update_perms $ROOT_CTR_BACKUP_PATH # List Backups - list_backups $CTR_BACKUP_PATH + list_backups $ROOT_CTR_BACKUP_PATH + + # Rotate Backups + rotate_backups $ROOT_CTR_BACKUP_PATH + + # Print end of Backup + echo "Finished backing up $CTR_NAME" + echo "-----------------------------" + echo +} + +function gogs() { + APP_PATH=$1 + CTR_NAME="Gogs" + ROOT_CTR_BACKUP_PATH=$APP_PATH/_backups + CTR_BACKUP_PATH=$ROOT_CTR_BACKUP_PATH/$DT_STAMP + LFS_BACKUP_FILE=$CTR_BACKUP_PATH/gogs_lfs.tgz + + # Print Container Name + echo "Backing up $CTR_NAME..." + + # Create Backup Paths + create_backup_dirs $ROOT_CTR_BACKUP_PATH $CTR_BACKUP_PATH + + docker exec gogs /app/gogs/gogs backup -c /data/gogs/conf/app.ini --target /data/tmp + mv $APP_PATH/data/tmp/*.zip $CTR_BACKUP_PATH + tar -czf $LFS_BACKUP_FILE -P $APP_PATH/data/gogs/data/lfs-objects + + # Change Permissions + update_perms $ROOT_CTR_BACKUP_PATH + + # List Backups + list_backups $ROOT_CTR_BACKUP_PATH # Rotate Backups rotate_backups $ROOT_CTR_BACKUP_PATH @@ -66,4 +97,5 @@ function bookstack() { echo "Docker Backup Script v1.0" echo -bookstack "/volume1/Docker/bookstack" \ No newline at end of file +bookstack "/volume1/Docker/bookstack" +gogs "/volume1/Docker/gogs" \ No newline at end of file