From 126919b1f8eb8a497f3043b9d2ac2fb714ba5a83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Valor=20Mart=C3=ADnez?= Date: Sun, 14 May 2023 13:48:41 +0200 Subject: [PATCH] Actualizado backup_maverick.sh --- backup_maverick.sh | 62 +++++++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 28 deletions(-) diff --git a/backup_maverick.sh b/backup_maverick.sh index d718416..cc1f9a2 100755 --- a/backup_maverick.sh +++ b/backup_maverick.sh @@ -4,57 +4,63 @@ NOW=$(date +"%d-%m-%Y %T") readonly NOW -BACKUP_SOURCE=/home/sergio -readonly BACKUP_SOURCE +## Destino del backup +readonly BACKUP_MOUNT=/sustancia/maverick +readonly BACKUP_TARGET=${BACKUP_MOUNT}/backup +readonly LOG="${BACKUP_TARGET}"/backup_maverick.log +readonly TARGET_SYSTEM_FILES=${BACKUP_TARGET}/system +readonly TARGET_FILES=${BACKUP_TARGET}/files +readonly TARGET_DOCKER=${BACKUP_TARGET}/docker +readonly TARGET_HOME=${BACKUP_TARGET}/home -BACKUP_DOCKER_VOLUMES=/var/volumes -readonly BACKUP_DOCKER_VOLUMES +## Backup de la carpeta home +readonly BACKUP_HOME=/home/sergio -BACKUP_TARGET=/sustancia/maverick/backup -readonly BACKUP_TARGET +## Backup de docker +readonly BACKUP_DOCKER=/home/sergio/docker +readonly BACKUP_DOCKER_VOLUMES=/var/volumes -LOG="${BACKUP_SOURCE}"/cronjobs/backup_maverick.log -readonly LOG +## Monta la carpetas del nas +mount $BACKUP_MOUNT -## Mount all -mount -a - -## Start backup +## Empieza el proceso de backup printf "\n\nBACKUP (%s)\n" "${NOW}" | tee "${LOG}" -## Backup system files +## Backup de ficheros del sistema printf "\n\n>> BACKUP SYSTEM FILES\n" | tee "${LOG}" -rsync -avh --delete /etc/crontab "${BACKUP_TARGET}" | tee "${LOG}" -rsync -avh --delete /etc/fstab "${BACKUP_TARGET}" | tee "${LOG}" +for i in /etc/cron.*; do + rsync -avh --delete "$i" "${TARGET_SYSTEM_FILES}"/ | tee "${LOG}" +done +rsync -avh --delete /etc/fstab "${TARGET_SYSTEM_FILES}"/ | tee "${LOG}" -## Backup files +## Backup de ficheros FILES=".gitconfig .git-credentials" for FILE in $FILES; do printf "\n\n>> BACKUP FILES\n" | tee "${LOG}" - if [ -f "${BACKUP_SOURCE}"/"${FILE}" ]; then - rsync -avh --delete "${BACKUP_SOURCE}"/"${FILE}" "${BACKUP_TARGET}" | tee "${LOG}" + if [ -f "${BACKUP_HOME}"/"${FILE}" ]; then + rsync -avh --delete "${BACKUP_HOME}"/"${FILE}" "${TARGET_FILES}" | tee "${LOG}" fi done -## Backup folders -FOLDERS="cronjobs docs rgbpi .skyscraper .ssh" +## Backup de las carpetas del directorio home +FOLDERS=".ssh" for FOLDER in $FOLDERS; do - if [ -d "${BACKUP_SOURCE}"/"${FOLDER}" ]; then + if [ -d "${BACKUP_HOME}"/"${FOLDER}" ]; then printf "\n\n>> BACKUP %s\n" "${FOLDER}" | tee "${LOG}" - rsync -avh --delete "${BACKUP_SOURCE}"/"${FOLDER}" "${BACKUP_TARGET}"/"${FOLDER}" | tee "${LOG}" + rsync -avh --delete "${BACKUP_HOME}"/"${FOLDER}" "${TARGET_HOME}"/"${FOLDER}" | tee "${LOG}" fi done -## Backup docker +## Backup de docker compose y volumenes docker stop "$(docker ps -q)" -FOLDER=docker -if [ -d "${BACKUP_SOURCE}"/"${FOLDER}" ]; then +FOLDER=DOCKER +if [ -d "${BACKUP_DOCKER}" ]; then printf "\n\n>> BACKUP %s\n" "${FOLDER}" | tee "${LOG}" - rsync -avh --delete "${BACKUP_SOURCE}"/"${FOLDER}" "${BACKUP_TARGET}"/"${FOLDER}" | tee "${LOG}" + rsync -avh --delete "${BACKUP_DOCKER}/" "${TARGET_DOCKER}/compose/" | tee "${LOG}" fi -FOLDER=docker_volumes +FOLDER=DOCKER_VOLUMES if [ -d "${BACKUP_DOCKER_VOLUMES}" ]; then printf "\n\n>> BACKUP %s\n" "${FOLDER}" | tee "${LOG}" - rsync -avh --delete "${BACKUP_DOCKER_VOLUMES}" "${BACKUP_TARGET}"/"${FOLDER}" | tee "${LOG}" + rsync -avh --delete "${BACKUP_DOCKER_VOLUMES}/" "${TARGET_DOCKER}/volumes/" | tee "${LOG}" fi docker start "$(docker ps -a -q)"