Guest User

Untitled

a guest
Dec 25th, 2017
383
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.46 KB | None | 0 0
  1. #/bin/bash
  2. #author: Denis Oleshkevich <denis@oleshkevich.ru>
  3.  
  4. YEAR=`date +%Y`
  5. MONTH=`date +%m`
  6. DAY=`date +%d`
  7.  
  8. DAYN=`date +%u`
  9. WEEK=`date +%W`
  10.  
  11.  
  12. BACKUP_SITES='/backup/sites/'
  13. BACKUP_MYSQL='/backup/mysql/'
  14.  
  15.  
  16. MYSQL_USER='root'
  17. MYSQL_PASS='password'
  18.  
  19.  
  20. BACKUP_SITES_DIR_TMP=$BACKUP_SITES$YEAR"_"$WEEK"/"
  21.  
  22.  
  23. BACKUP_SITES_FULL=$BACKUP_SITES_DIR_TMP"00_full/"
  24. BACKUP_SITES_INC=$BACKUP_SITES_DIR_TMP$MONTH"_"$DAY"/"
  25.  
  26. echo "start backuping..."
  27.  
  28. date
  29.  
  30. echo "start backup sites"
  31.  
  32. if [ $DAYN == "1" ];
  33. then
  34.     test -d "$BACKUP_SITES_FULL" || mkdir -p "$BACKUP_SITES_FULL"
  35. else
  36.     test -d "$BACKUP_SITES_INC" || mkdir -p "$BACKUP_SITES_INC"
  37. fi
  38.  
  39. for site in `ls /home/ -1`
  40. do
  41.     echo $site;
  42.     cd "/home/"$site
  43.  
  44.     if [ $DAYN == "1" ]
  45.     then
  46.         tar -czf $BACKUP_SITES_FULL$site".tgz" .
  47.     else
  48.         find ./ -mtime -1 -type f -print | tar -czf $BACKUP_SITES_INC$site".tgz" -T -
  49.  
  50.     fi
  51.  
  52.  
  53.  
  54. done
  55.  
  56.  
  57. date
  58.  
  59. echo "start mysql databases backup"
  60.  
  61.  
  62.  
  63. MYSQL_DIR=$BACKUP_MYSQL$YEAR"_"$MONTH"/"$YEAR"_"$MONTH"_"$DAY"/";
  64. test -d "$MYSQL_DIR" || mkdir -p "$MYSQL_DIR"
  65.  
  66. echo $MYSQL_DIR
  67.  
  68.  
  69.  
  70. for db in `echo "show databases;" | mysql -u$MYSQL_USER -p$MYSQL_PASS`
  71. do
  72.     if [ $db != "Database" -a $db != "information_schema" -a $db != 'mysql' ];
  73.     then
  74.         echo $db
  75.         mysqldump -u$MYSQL_USER -p$MYSQL_PASS $db | gzip --best > $MYSQL_DIR$db".sql.gz"
  76.  
  77.     fi
  78.  
  79. done
  80.  
  81. date
  82. echo "start rsync"
  83.  
  84. rsync -avz /backup/ sitesbackup@remotehost:~/backup
  85.  
  86.  
  87. date
  88. echo "finish!"
Add Comment
Please, Sign In to add comment