#!/bin/bash ## Variables NOW=$(date +"%d-%m-%Y %T") readonly NOW BACKUP_SOURCE=/home/sergio readonly BACKUP_SOURCE BACKUP_DOCKER_VOLUMES=/var/volumes readonly BACKUP_DOCKER_VOLUMES BACKUP_TARGET=/sustancia/maverick/backup readonly BACKUP_TARGET LOG="${BACKUP_SOURCE}"/cronjobs/backup_maverick.log readonly LOG ## Mount all mount -a ## Start backup printf "\n\nBACKUP (%s)\n" "${NOW}" | tee "${LOG}" ## Backup system files 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}" ## Backup files 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}" fi done ## Backup folders FOLDERS="cronjobs docs rgbpi .skyscraper .ssh" for FOLDER in $FOLDERS; do if [ -d "${BACKUP_SOURCE}"/"${FOLDER}" ]; then printf "\n\n>> BACKUP %s\n" "${FOLDER}" | tee "${LOG}" rsync -avh --delete "${BACKUP_SOURCE}"/"${FOLDER}" "${BACKUP_TARGET}"/"${FOLDER}" | tee "${LOG}" fi done ## Backup docker docker stop "$(docker ps -q)" FOLDER=docker if [ -d "${BACKUP_SOURCE}"/"${FOLDER}" ]; then printf "\n\n>> BACKUP %s\n" "${FOLDER}" | tee "${LOG}" rsync -avh --delete "${BACKUP_SOURCE}"/"${FOLDER}" "${BACKUP_TARGET}"/"${FOLDER}" | tee "${LOG}" fi 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}" fi docker start "$(docker ps -a -q)"