scripts/bash/backups

59 lines
1.9 KiB
Plaintext
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#/bin/bash
# @author sync_spaceship by @tykayn - contact at cipherbliss.com
#
# disques ext
# - blue 4To
# - brossadent 4To
# - catwoman 4To
# - chaton 5To
# - kouignamann 4To
# - lilia 4To
# - louisbraille 4To
# - monolith 6.2To
# - rondoudou 4To non chiffré
# - Taiga 1To
# configs
export today=`date` # to log current time
export ARCHIVE_CLEAR="/home/poule/encrypted/stockage-syncable" # place where we have our things sorted, other than home
export BORG_PASSCOMMAND="cat $ARCHIVE_CLEAR/.tk-borg-passphrase" # get the borg repo pass
export LOG_FILE_BACKUP="$ARCHIVE_CLEAR/www/backup/log_backup.log"
export LOG_FILE_BACKUP_DATES="$ARCHIVE_CLEAR/www/backup/summary_log_backup.log" # log dates of execution of the script
echo "watch the logs with \n tail -f $LOG_FILE_BACKUP_DATES"
# big disks can replicate the whole ZFS encrypted archives
big_disks=("blue","brossadent","catwoman","chaton","kouignamann","monolith","lilia","louisbraille","monolith")
# clear disk will take medias
clear_disks=("rondoudou")
# small disks will only take borg backups
small_disks=("Taiga")
# déclaration d'une fonction
function syncToBigDiskName()
{
local diskName=$1
echo ' ' >> $LOG_FILE_BACKUP_DATES
echo "### ${today} replicate to disk ${diskName}" >> $LOG_FILE_BACKUP_DATES
# chech that the mounted folder of the disk exists
FILE=/media/$USER/$diskName
if test -d "$FILE"; then
echo "### $FILE exists." >> $LOG_FILE_BACKUP_DATES
# ok to send Rsync of encrypted folder
rsync -avP /home/poule/encrypted/* /media/$USER/$diskName/encrypted --delete --exclude '.npm' --exclude '.yarn' --exclude 'node_modules' --exclude '.mozilla' --delete --exclude '.cache' --exclude 'Cache'
rsync -avP /home/poule/borg_archives/* /media/$USER/$diskName/borg_archives --delete --exclude '.npm' --exclude '.yarn' --exclude 'node_modules' --exclude '.mozilla' --delete --exclude '.cache' --exclude 'Cache'
else
echo "### /!\ - folder not found $FILE"
fi
}
syncToBigDiskName "monolith"