Files
linux_script/backup_nextcloud.sh
2024-03-10 20:40:38 +08:00

35 lines
1.3 KiB
Bash
Executable File

#!/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