Advertisement
Guest User

Untitled

a guest
May 8th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.93 KB | None | 0 0
  1. #!/bin/bash
  2. DATABASEUSER=[changeme]
  3. DATABASEPASS=[changeme]
  4. BACKUPDIR=/home/backup/database
  5. DATE=`date +'%d-%m-%Y'`
  6.  
  7. SAVELOCATION=$BACKUPDIR/$DATE
  8.  
  9. #Check if location to save exists, if not create it
  10. [ ! -a $SAVELOCATION ] &&  mkdir -p $SAVELOCATION ;
  11.  
  12. echo "$DATE database backup starting, saving to $SAVELOCATION"
  13.  
  14. #Get a list of datbases to backup
  15. mysql -u $DATABASEUSER -p$DATABASEPASS -e "show databases" -s > .databasesToBackup;
  16.  
  17. #Parese list of databases and then backup using mysqldump
  18. cat .databasesToBackup | while read line; do
  19.  mysqldump -u $DATABASEUSER -p$DATABASEPASS $line | gzip  > $BACKUPDIR/$DATE/$line.sql.gz
  20. done
  21.  
  22. rm .databasesToBackup
  23. LINECOUNT=`ls $SAVELOCATION | wc -l`
  24.  
  25. echo "Backed up $LINECOUNT databases ";
  26.  
  27. #Delete all files in the backup dir 35 days or older - note this deletes everything!
  28. #only database backups should exist in $BACKUPDIR!!!
  29. find $BACKUPDIR -mtime +35 -type d -exec rm -rf {} \;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement