59 lines
1.9 KiB
Bash
59 lines
1.9 KiB
Bash
|
#/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"
|
|||
|
|