#!/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