Actualizado backup_maverick.sh
This commit is contained in:
+34
-28
@@ -4,57 +4,63 @@
|
|||||||
NOW=$(date +"%d-%m-%Y %T")
|
NOW=$(date +"%d-%m-%Y %T")
|
||||||
readonly NOW
|
readonly NOW
|
||||||
|
|
||||||
BACKUP_SOURCE=/home/sergio
|
## Destino del backup
|
||||||
readonly BACKUP_SOURCE
|
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
|
## Backup de la carpeta home
|
||||||
readonly BACKUP_DOCKER_VOLUMES
|
readonly BACKUP_HOME=/home/sergio
|
||||||
|
|
||||||
BACKUP_TARGET=/sustancia/maverick/backup
|
## Backup de docker
|
||||||
readonly BACKUP_TARGET
|
readonly BACKUP_DOCKER=/home/sergio/docker
|
||||||
|
readonly BACKUP_DOCKER_VOLUMES=/var/volumes
|
||||||
|
|
||||||
LOG="${BACKUP_SOURCE}"/cronjobs/backup_maverick.log
|
## Monta la carpetas del nas
|
||||||
readonly LOG
|
mount $BACKUP_MOUNT
|
||||||
|
|
||||||
## Mount all
|
## Empieza el proceso de backup
|
||||||
mount -a
|
|
||||||
|
|
||||||
## Start backup
|
|
||||||
printf "\n\nBACKUP (%s)\n" "${NOW}" | tee "${LOG}"
|
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}"
|
printf "\n\n>> BACKUP SYSTEM FILES\n" | tee "${LOG}"
|
||||||
rsync -avh --delete /etc/crontab "${BACKUP_TARGET}" | tee "${LOG}"
|
for i in /etc/cron.*; do
|
||||||
rsync -avh --delete /etc/fstab "${BACKUP_TARGET}" | tee "${LOG}"
|
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"
|
FILES=".gitconfig .git-credentials"
|
||||||
for FILE in $FILES; do
|
for FILE in $FILES; do
|
||||||
printf "\n\n>> BACKUP FILES\n" | tee "${LOG}"
|
printf "\n\n>> BACKUP FILES\n" | tee "${LOG}"
|
||||||
if [ -f "${BACKUP_SOURCE}"/"${FILE}" ]; then
|
if [ -f "${BACKUP_HOME}"/"${FILE}" ]; then
|
||||||
rsync -avh --delete "${BACKUP_SOURCE}"/"${FILE}" "${BACKUP_TARGET}" | tee "${LOG}"
|
rsync -avh --delete "${BACKUP_HOME}"/"${FILE}" "${TARGET_FILES}" | tee "${LOG}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
## Backup folders
|
## Backup de las carpetas del directorio home
|
||||||
FOLDERS="cronjobs docs rgbpi .skyscraper .ssh"
|
FOLDERS=".ssh"
|
||||||
for FOLDER in $FOLDERS; do
|
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}"
|
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
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
## Backup docker
|
## Backup de docker compose y volumenes
|
||||||
docker stop "$(docker ps -q)"
|
docker stop "$(docker ps -q)"
|
||||||
FOLDER=docker
|
FOLDER=DOCKER
|
||||||
if [ -d "${BACKUP_SOURCE}"/"${FOLDER}" ]; then
|
if [ -d "${BACKUP_DOCKER}" ]; then
|
||||||
printf "\n\n>> BACKUP %s\n" "${FOLDER}" | tee "${LOG}"
|
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
|
fi
|
||||||
FOLDER=docker_volumes
|
FOLDER=DOCKER_VOLUMES
|
||||||
if [ -d "${BACKUP_DOCKER_VOLUMES}" ]; then
|
if [ -d "${BACKUP_DOCKER_VOLUMES}" ]; then
|
||||||
printf "\n\n>> BACKUP %s\n" "${FOLDER}" | tee "${LOG}"
|
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
|
fi
|
||||||
docker start "$(docker ps -a -q)"
|
docker start "$(docker ps -a -q)"
|
||||||
|
|||||||
Reference in New Issue
Block a user