diff --git a/backup_immich.sh b/backup_immich.sh new file mode 100755 index 0000000..e3666e1 --- /dev/null +++ b/backup_immich.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +DOCKER_DIR="/lvm1/docker" +CONTAINER_NAME="immich" +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" + +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 $SAVE_PATH" +rsync -ah --progress $BACKUP_FILENAME $SAVE_PATH + +## Delete local backup file +echo "rm $BACKUP_FILENAME" +rm -f $BACKUP_FILENAME + +echo "$(date +'%F %R:%S'): Backup finished."