From b70de25dae297ff4bc365af300aaa0b30ce95ebe Mon Sep 17 00:00:00 2001 From: Awin Huang Date: Sun, 10 Mar 2024 20:40:38 +0800 Subject: [PATCH] Add backup scripts --- backup_docker_gitea.sh | 19 ------------- backup_filebrowser.sh | 35 ++++++++++++++++++++++++ backup_freshrss.sh | 35 ++++++++++++++++++++++++ backup_gitea.sh | 35 ++++++++++++++++++++++++ backup_nextcloud.sh | 34 +++++++++++++++++++++++ nextcloud_clean.sh => clean_nextcloud.sh | 0 6 files changed, 139 insertions(+), 19 deletions(-) delete mode 100755 backup_docker_gitea.sh create mode 100755 backup_filebrowser.sh create mode 100755 backup_freshrss.sh create mode 100755 backup_gitea.sh create mode 100755 backup_nextcloud.sh rename nextcloud_clean.sh => clean_nextcloud.sh (100%) diff --git a/backup_docker_gitea.sh b/backup_docker_gitea.sh deleted file mode 100755 index 679914e..0000000 --- a/backup_docker_gitea.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -WORK_DIR="/home/awin/docker/gitea" -SAVE_PATH="/media/upload" -NOW_DATETIME="$(date +'%Y%m%d_%H%M%S')" -BACKUP_FILE_PATH="$SAVE_PATH/docker_backup/gitea/backup_docker_gitea_$NOW_DATETIME.tar" -BACKUP_CMD="sudo tar -cvf $BACKUP_FILE_PATH data docker-compose.yml" - -echo "$BACKUP_FILE_PATH" -echo "$(date +'%F %R:%S'): Backup start. CMD = $BACKUP_CMD" > /home/awin/log/backup_docker_gitea.log - -mkdir -p $SAVE_PATH/docker_backup/gitea -sudo docker compose -f $WORK_DIR/docker-compose.yml down -cd $WORK_DIR -$BACKUP_CMD -sudo docker compose -f $WORK_DIR/docker-compose.yml up -d - -echo "$(date +'%F %R:%S'): Backup finished." >> /home/awin/log/backup_docker_gitea.log - diff --git a/backup_filebrowser.sh b/backup_filebrowser.sh new file mode 100755 index 0000000..753e172 --- /dev/null +++ b/backup_filebrowser.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +DOCKER_DIR="/lvm1/docker" +CONTAINER_NAME="filebrowser" +CONTAINER_DIR="$DOCKER_DIR/$CONTAINER_NAME" +SAVE_PATH="/media/backup/backup_docker/$CONTAINER_NAME/files" +NOW_DATETIME="$(date +'%Y%m%d_%H%M%S')" +BACKUP_FILENAME="backup_${CONTAINER_NAME}_$NOW_DATETIME.tar" +BACKUP_FILE_PATH="$SAVE_PATH/$BACKUP_FILENAME" +BACKUP_CMD="sudo tar -cvf $BACKUP_FILENAME $CONTAINER_NAME" + +echo "DOCKER_DIR: $DOCKER_DIR" +echo "CONTAINER_DIR: $CONTAINER_DIR" +echo "SAVE_PATH: $SAVE_PATH" +echo "NOW_DATETIME: $NOW_DATETIME" +echo "BACKUP_FILENAME: $BACKUP_FILENAME" +echo "BACKUP_FILE_PATH: $BACKUP_FILE_PATH" +echo "BACKUP_CMD: $BACKUP_CMD" +echo "$(date +'%F %R:%S'): Backup start. BACKUP_CMD = $BACKUP_CMD" > /home/awin/log/backup_docker_$CONTAINER_NAME.log + +mkdir -p $SAVE_PATH +sudo docker compose -f ${CONTAINER_DIR}/docker-compose.yml down +cd $DOCKER_DIR +$BACKUP_CMD +sudo docker compose -f ${CONTAINER_DIR}/docker-compose.yml up -d + +## Move BACKUP_FILENAME to BACKUP_FILE_PATH +echo "rsync -ah --progress $BACKUP_FILENAME $BACKUP_FILE_PATH" >> /home/awin/log/backup_docker_$CONTAINER_NAME.log +rsync -ah --progress $BACKUP_FILENAME $BACKUP_FILE_PATH + +## Delete local backup file +echo "rm $BACKUP_FILENAME" >> /home/awin/log/backup_docker_$CONTAINER_NAME.log +rm -f $BACKUP_FILENAME + +echo "$(date +'%F %R:%S'): Backup finished." >> /home/awin/log/backup_docker_$CONTAINER_NAME.log diff --git a/backup_freshrss.sh b/backup_freshrss.sh new file mode 100755 index 0000000..53f3c46 --- /dev/null +++ b/backup_freshrss.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +DOCKER_DIR="/lvm1/docker" +CONTAINER_NAME="freshrss" +CONTAINER_DIR="$DOCKER_DIR/$CONTAINER_NAME" +SAVE_PATH="/media/backup/backup_docker/$CONTAINER_NAME/files" +NOW_DATETIME="$(date +'%Y%m%d_%H%M%S')" +BACKUP_FILENAME="backup_${CONTAINER_NAME}_$NOW_DATETIME.tar" +BACKUP_FILE_PATH="$SAVE_PATH/$BACKUP_FILENAME" +BACKUP_CMD="sudo tar -cvf $BACKUP_FILENAME $CONTAINER_NAME" + +echo "DOCKER_DIR: $DOCKER_DIR" +echo "CONTAINER_DIR: $CONTAINER_DIR" +echo "SAVE_PATH: $SAVE_PATH" +echo "NOW_DATETIME: $NOW_DATETIME" +echo "BACKUP_FILENAME: $BACKUP_FILENAME" +echo "BACKUP_FILE_PATH: $BACKUP_FILE_PATH" +echo "BACKUP_CMD: $BACKUP_CMD" +echo "$(date +'%F %R:%S'): Backup start. BACKUP_CMD = $BACKUP_CMD" > /home/awin/log/backup_docker_$CONTAINER_NAME.log + +mkdir -p $SAVE_PATH +sudo docker compose -f ${CONTAINER_DIR}/docker-compose.yml down +cd $DOCKER_DIR +$BACKUP_CMD +sudo docker compose -f ${CONTAINER_DIR}/docker-compose.yml up -d + +## Move BACKUP_FILENAME to BACKUP_FILE_PATH +echo "rsync -ah --progress $BACKUP_FILENAME $BACKUP_FILE_PATH" >> /home/awin/log/backup_docker_$CONTAINER_NAME.log +rsync -ah --progress $BACKUP_FILENAME $BACKUP_FILE_PATH + +## Delete local backup file +echo "rm $BACKUP_FILENAME" >> /home/awin/log/backup_docker_$CONTAINER_NAME.log +rm -f $BACKUP_FILENAME + +echo "$(date +'%F %R:%S'): Backup finished." >> /home/awin/log/backup_docker_$CONTAINER_NAME.log diff --git a/backup_gitea.sh b/backup_gitea.sh new file mode 100755 index 0000000..23c120b --- /dev/null +++ b/backup_gitea.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +DOCKER_DIR="/lvm1/docker" +CONTAINER_NAME="gitea" +CONTAINER_DIR="$DOCKER_DIR/$CONTAINER_NAME" +SAVE_PATH="/media/backup/backup_docker/$CONTAINER_NAME/files" +NOW_DATETIME="$(date +'%Y%m%d_%H%M%S')" +BACKUP_FILENAME="backup_${CONTAINER_NAME}_$NOW_DATETIME.tar" +BACKUP_FILE_PATH="$SAVE_PATH/$BACKUP_FILENAME" +BACKUP_CMD="sudo tar -cvf $BACKUP_FILENAME $CONTAINER_NAME" + +echo "DOCKER_DIR: $DOCKER_DIR" +echo "CONTAINER_DIR: $CONTAINER_DIR" +echo "SAVE_PATH: $SAVE_PATH" +echo "NOW_DATETIME: $NOW_DATETIME" +echo "BACKUP_FILENAME: $BACKUP_FILENAME" +echo "BACKUP_FILE_PATH: $BACKUP_FILE_PATH" +echo "BACKUP_CMD: $BACKUP_CMD" +echo "$(date +'%F %R:%S'): Backup start. BACKUP_CMD = $BACKUP_CMD" > /home/awin/log/backup_docker_$CONTAINER_NAME.log + +mkdir -p $SAVE_PATH +sudo docker compose -f ${CONTAINER_DIR}/docker-compose.yml down +cd $DOCKER_DIR +$BACKUP_CMD +sudo docker compose -f ${CONTAINER_DIR}/docker-compose.yml up -d + +## Move BACKUP_FILENAME to BACKUP_FILE_PATH +echo "rsync -ah --progress $BACKUP_FILENAME $BACKUP_FILE_PATH" >> /home/awin/log/backup_docker_$CONTAINER_NAME.log +rsync -ah --progress $BACKUP_FILENAME $BACKUP_FILE_PATH + +## Delete local backup file +echo "rm $BACKUP_FILENAME" >> /home/awin/log/backup_docker_$CONTAINER_NAME.log +rm -f $BACKUP_FILENAME + +echo "$(date +'%F %R:%S'): Backup finished." >> /home/awin/log/backup_docker_$CONTAINER_NAME.log diff --git a/backup_nextcloud.sh b/backup_nextcloud.sh new file mode 100755 index 0000000..c18877a --- /dev/null +++ b/backup_nextcloud.sh @@ -0,0 +1,34 @@ +#!/bin/sh + +DOCKER_DIR="/lvm1/docker" +DOCKER_NEXTCLOUD_DIR="$DOCKER_DIR/nextcloud" +SAVE_PATH="/media/backup/backup_docker/nextcloud/files" +NOW_DATETIME="$(date +'%Y%m%d_%H%M%S')" +BACKUP_FILENAME="backup_nextcloud_$NOW_DATETIME.tar" +BACKUP_FILE_PATH="$SAVE_PATH/$BACKUP_FILENAME" +BACKUP_CMD="sudo tar -cvf $BACKUP_FILENAME nextcloud" + +echo "DOCKER_DIR: $DOCKER_DIR" +echo "DOCKER_NEXTCLOUD_DIR: $DOCKER_NEXTCLOUD_DIR" +echo "SAVE_PATH: $SAVE_PATH" +echo "NOW_DATETIME: $NOW_DATETIME" +echo "BACKUP_FILENAME: $BACKUP_FILENAME" +echo "BACKUP_FILE_PATH: $BACKUP_FILE_PATH" +echo "BACKUP_CMD: $BACKUP_CMD" +echo "$(date +'%F %R:%S'): Backup start. BACKUP_CMD = $BACKUP_CMD" > /home/awin/log/backup_docker_nextcloud.log + +mkdir -p $SAVE_PATH +sudo docker compose -f $DOCKER_NEXTCLOUD_DIR/docker-compose.yml down +cd $DOCKER_DIR +$BACKUP_CMD +sudo docker compose -f $DOCKER_NEXTCLOUD_DIR/docker-compose.yml up -d + +## Move BACKUP_FILENAME to BACKUP_FILE_PATH +echo "rsync -ah --progress $BACKUP_FILENAME $BACKUP_FILE_PATH" >> /home/awin/log/backup_docker_nextcloud.log +rsync -ah --progress $BACKUP_FILENAME $BACKUP_FILE_PATH + +## Delete local backup file +echo "rm $BACKUP_FILENAME" >> /home/awin/log/backup_docker_nextcloud.log +rm -f $BACKUP_FILENAME + +echo "$(date +'%F %R:%S'): Backup finished." >> /home/awin/log/backup_docker_nextcloud.log diff --git a/nextcloud_clean.sh b/clean_nextcloud.sh similarity index 100% rename from nextcloud_clean.sh rename to clean_nextcloud.sh