Advertisement
Guest User

Untitled

a guest
Sep 11th, 2017
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 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="2308f6431f3d7c4dd"
  12. DBHOST="localhost"
  13. DBNAME="dgt_helpdesk"
  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. for DIR in "$HOSTPATH/*/"
  65. do
  66. DOMAIN="$DIR"
  67. dobackup
  68. done
  69. exit 0
  70. else
  71. DOMAIN="$1";
  72. dobackup
  73. exit 0
  74. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement