Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- ### Backup script v0.3 beta
- ### Please be sure all dependencies are satisfied.
- ### Needed packages:
- ### - sshpass
- ### - sendemail
- ### - dropbox_uploader by Andrea Fabrizi
- ### https://github.com/andreafabrizi/Dropbox-Uploader
- ### patch for smtp ssl: http://raspberrypi.stackexchange.com/questions/2118/sendemail-failure
- ### USER CONFIGURABLE PARAMETERS
- MODE="dropbox" # available modes: scp, ftp, mail, local, dropbox
- # LOCAL/FTP/SCP/MAIL PARAMETERS
- SERVER="SMTP.SERVER.TLD" # used for: ftp mail scp
- USERNAME="USERNAME" # used for: ftp mail scp
- PASSWORD="PASSWORD" # used for: ftp mail scp
- PORT="587" # used for: mail scp
- WHERE="." # used for: mail scp
- RCPT="DESTINATION MAIL ADDRESS" # used for: mail
- DESTDIR="/opt/backup" # used for: local
- ### END OF USER CONFIGURABLE PARAMETERS
- DOMO_IP=`/sbin/ifconfig | /bin/grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | /bin/grep -Eo '([0-9]*\.){3}[0-9]*' | /bin/grep -v '127.0.0.1'`
- DOMO_PORT=`/bin/grep "Webserver started on port:" /tmp/domoticz.log |/usr/bin/cut -d ":" -f 2|/usr/bin/cut -d " " -f 2`
- TIMESTAMP=`/bin/date +%Y%m%d%H%M%S`
- BACKUPFILE="domoticz_$TIMESTAMP.db"
- BACKUPFILEGZ="$BACKUPFILE".gz
- /usr/bin/curl -s http://$DOMO_IP:$DOMO_PORT/backupdatabase.php > /tmp/$BACKUPFILE
- gzip -9 /tmp/$BACKUPFILE
- case $MODE in
- scp)
- /usr/bin/sshpass -p $PASSWORD /usr/bin/scp -P $PORT /tmp/$BACKUPFILEGZ $USERNAME@$SERVER:$WHERE
- ;;
- ftp)
- curl -s --disable-epsv -v -T"/tmp/$BACKUPFILEGZ" -u"$USERNAME:$PASSWORD" "ftp://$SERVER/"
- ;;
- local)
- echo local
- cp /tmp/$BACKUPFILEGZ $DESTDIR
- echo "Your local copy of database is now on $DESTDIR"
- ;;
- mail)
- /usr/bin/sendemail -f $RCPT -t $RCPT -u "Mail from Domoticz" -m "Backup of Domoticz DB" -s $SERVER:$PORT -o tls=yes -xu $USERNAME -xp $PASSWORD -a /tmp/$BACKUPFILEGZ
- ;;
- dropbox)
- /opt/bin/dropbox_uploader.sh upload /tmp/$BACKUPFILEGZ
- ;;
- esac
- /bin/rm /tmp/$BACKUPFILEGZ
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement