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"
|
||
|