Advertisement
Guest User

gnusocial backup

a guest
Feb 9th, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.28 KB | None | 0 0
  1. ###################
  2. ### 0. Setup ssh authorized_keys on your server so you don't need a password
  3.  
  4. ###################
  5. ### 1. cronjob this script on the gnusocial server.
  6.  
  7. #/bin/bash
  8.  
  9. datestamp=`date +'%Y-%m-%d'`
  10. mysqldump --hex-blob gnusocial | gzip > /home/mysql-backup/gnusocial-$datestamp.sql.gz
  11.  
  12. rm /home/mysql-backup/latest-gnusocial.sql.gz
  13. ln -s /home/mysql-backup/gnusocial-$datestamp.sql.gz /home/mysql-backup/latest-gnusocial.sql.gz
  14.  
  15. #maintain only the latest 5 copies on the server
  16. cd /home/mysql-backup
  17. ls -1tr gnusocial*gz | head -n -5 | xargs -d '\n' rm -f
  18.  
  19. ###################
  20. ### 2. run this script on your PC
  21.  
  22. #!/bin/bash
  23.  
  24. zenity --question --text "Backup gnusocial ?";
  25. if [ $? -eq 0 ]
  26. then
  27.         datestamp=`date +'%Y-%m-%d'`
  28.         scp a_user@my_server.net:/home/mysql-backup/latest-gnusocial.sql.gz ~/gnusocial-backup/gnusocial-$datestamp.sql.gz
  29.         if [ -f ~/gnusocial-backup/gnusocial-$datestamp.sql.gz ]
  30.         then
  31.                 zenity --info --text "Copied mysql dump"
  32.         fi
  33.         rsync -az -e "ssh -p 22" a_user@my_server.net:/var/www/gnusocial/file ~/gnusocial-backup/
  34.         rsync -az -e "ssh -p 22" a_user@my_server.net:/var/www/gnusocial/avatar ~/gnusocial-backup/
  35.         zenity --info --text "rsync files finished"
  36. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement