home/bin/rsync.sh

102 lines
2 KiB
Bash
Executable file

#!/bin/bash
TYPE='' # usb / sshfs
CMD=rsync
ARGS='-avz --delete
--exclude /Nextcloud
--exclude /.cache
--exclude /Downloads
--exclude /.thunderbird
--exclude /Projects
--exclude /Software
--exclude /tmp
--exclude /fonts
--exclude /Music
--exclude /node_modules
--exclude /snap
--exclude /.local/share/Trash
--exclude /.npm
--exclude /.thumbnails
--exclude /Android
--exclude /.AndroidStudio*
--exclude /.android
--exclude /.bundle/cache
--exclude /.config/cache
--exclude /.config/Code/Cache
--exclude /.config/Code/CachedData
--exclude /.config/Slack
--exclude /.config/*/Cache
--exclude /.config/chromium
--exclude /.mozilla
--exclude /.config/discord
--exclude /.config/spotify
--exclude /.crashlytics
--exclude /.fastlane
--exclude /.gradle
--exclude ./Software
--exclude /.local
--exclude /.DataGrip*
--exclude /.eclipse
--exclude /sshfs
--exclude /OneDrive'
ORIG='/home/dbroqua/'
DEST=''
HOSTNAME=`hostname`
# USB
UUID='6e3f7ae3-8fa1-43f3-88c0-a12651519ffb'
MOUNT='/mnt/backup'
DEST_USB="/mnt/backup/${HOSTNAME}/dbroqua/"
# SSHFS
DEST_SSHFS="dmc-12:Backup/${HOSTNAME}/dbroqua/"
while getopts t:h opt
do
case $opt in
t)
case ${OPTARG} in
usb)
TYPE='usb'
DEST=${DEST_USB}
;;
sshfs)
TYPE='sshfs'
DEST=${DEST_SSHFS}
;;
*)
echo "usb / sshfs attendu"
exit 1;
esac
;;
esac
done
if [ "${TYPE}" != '' ] ; then
case ${TYPE} in
usb)
sudo cryptsetup luksOpen /dev/sdb1 backup
sudo mount /dev/mapper/backup ${MOUNT}
echo "Go !"
if [ $? == 0 ] ; then
${CMD} ${ARGS} ${ORIG} ${DEST}
fi
sudo umount ${MOUNT}
sudo cryptsetup luksClose backup
;;
sshfs)
${CMD} ${ARGS} ${ORIG} ${DEST}
;;
esac
fi
if [ $? == 0 ] ; then
echo `date` > ${ORIG}lastBackup
echo "Method: ${TYPE}" >> ${ORIG}/lastBackup
rm ${ORIG}lastFailBackup
else
echo `date` > ${ORIG}lastFailBackup
echo "Method: ${TYPE}" >> ${ORIG}lastFailBackup
fi