Advertisement
Guest User

Untitled

a guest
Sep 18th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # usage: ./backup.sh domain.com
  4.  
  5. #Config
  6. BACKUPPATH="/home/backup"; # store backups here
  7. HOSTPATH="/home"; # path where hosted domains are
  8.  
  9. # set database settings.
  10. DBUSER="root"
  11. DBPASS="root"
  12. DBHOST="localhost"
  13. DBNAME="lol"
  14.  
  15.  
  16. backupcodeanddatabase () {
  17. local _N _U _P _H FS FT TD WP;
  18. FT=`date +$3/$2-%Y-%m-%d.tar.gz`;
  19. FS=`date +$3/$2-%Y-%m-%d.sql`;
  20. TD=$1/$2;
  21.  
  22. WP=$TD/wp-config.php;
  23.  
  24. ( cd $TD || {
  25. echo "bad $TD" && return 2
  26. };
  27.  
  28. if [ -f $WP ]; then
  29. eval $(sed -n "s/^d[^D]*DB_\([NUPH]\)[ASO].*',[^']*'\([^']*\)'.*/_\1='\2'/p" $WP);
  30. mysqldump -u$_U -p$_P -h$_H $_N > $FS;
  31. else
  32. _N=$DBNAME
  33. _U=$DBUSER
  34. _P=$DBPASS
  35. _H=$DBHOST
  36. mysqldump -u$_U -p$_P -h$_H $_N > $FS;
  37. fi
  38.  
  39. tar -czPf $FT $TD )
  40. }
  41.  
  42. dobackup () {
  43. NOW=$(date +"%Y-%m-%d-%H:%M");
  44. BACKUPDOMAIN="$BACKUPPATH/$DOMAIN";
  45.  
  46. if [ ! -d $BACKUPDOMAIN ]; then
  47. mkdir $BACKUPDOMAIN
  48. fi
  49.  
  50. BACKUP="$BACKUPDOMAIN/$NOW";
  51.  
  52. if [ ! -d $BACKUP ]; then
  53. mkdir $BACKUP
  54. fi
  55.  
  56. if [ -d "$HOSTPATH/$DOMAIN/" ]; then
  57. backupcodeanddatabase $HOSTPATH $DOMAIN $BACKUP
  58. else
  59. echo "directory not found: $HOSTPATH/$DOMAIN/"
  60. fi
  61. }
  62.  
  63. if [ -z "$1" ]; then
  64. I=0;
  65. for DIR in $(find $HOSTPATH -maxdepth 1 -type d)
  66. do
  67. DOMAIN=$(basename $DIR)
  68.  
  69. if [ $I -ne 0 ]; then
  70. #echo $DOMAIN
  71. dobackup
  72.  
  73. fi
  74. I=$((I+1))
  75. done
  76. exit 0
  77. else
  78. DOMAIN="$1";
  79. dobackup
  80. exit 0
  81. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement