106 lines
2.1 KiB
Bash
Executable file
106 lines
2.1 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 /Vinyles
|
|
--exclude /Videos
|
|
--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
|
|
if [ -f "${ORIG}lastFailBackup}" ]; then
|
|
rm ${ORIG}lastFailBackup
|
|
fi
|
|
else
|
|
echo `date` > ${ORIG}lastFailBackup
|
|
echo "Method: ${TYPE}" >> ${ORIG}lastFailBackup
|
|
fi
|