52 lines
1.4 KiB
Bash
Executable File
52 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
## Variables
|
|
NOW=$(date +"%d-%m-%Y %T")
|
|
readonly NOW
|
|
|
|
BACKUP_SOURCE=/home/sergio
|
|
readonly BACKUP_SOURCE
|
|
|
|
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
|
|
FOLDER=docker
|
|
if [ -d "${BACKUP_SOURCE}"/"${FOLDER}" ]; then
|
|
printf "\n\n>> BACKUP %s\n" "${FOLDER}" | tee "${LOG}"
|
|
docker stop "$(docker ps -q)"
|
|
rsync -avh --delete "${BACKUP_SOURCE}"/"${FOLDER}" "${BACKUP_TARGET}"/"${FOLDER}" | tee "${LOG}"
|
|
docker start "$(docker ps -a -q)"
|
|
fi |