Guest User

Untitled

a guest
Aug 28th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.56 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # user & password
  4. USER=mysqluser
  5. PASS=mysqlpass
  6.  
  7. # number of backups to be saved
  8. KEEP=100
  9.  
  10. # dir to backup
  11. DIR=/home/mascotte/backup/mysql
  12.  
  13. NOW=$(date +"%Y-%m-%d")
  14. DBS="$(mysql -u $USER -p$PASS -Bse 'show databases')"
  15.  
  16. for db in $DBS
  17. do
  18.  
  19. BACKUPS=`find $DIR -name "$db.*.gz" | wc -l | sed 's/\ //g'`
  20. while [ $BACKUPS -ge $KEEP ]
  21. do
  22. ls -tr1 $DIR/$db.*.gz | head -n 1 | xargs rm -f
  23. BACKUPS=`expr $BACKUPS - 1`
  24. done
  25.  
  26. FILE=$DIR/$db.$NOW-$(date +"%T").sql.gz
  27. mysqldump -u $USER -p$PASS $db | gzip -9 > $FILE
  28.  
  29. done
  30.  
  31. exit 0
Add Comment
Please, Sign In to add comment