103 lines
1.9 KiB
Bash
103 lines
1.9 KiB
Bash
|
#!/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*'
|
||
|
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="storage: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
|
||
|
|
||
|
echo $?
|
||
|
|
||
|
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
|
||
|
|