Skip to content

Instantly share code, notes, and snippets.

@akagisho
Last active August 29, 2015 14:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save akagisho/eb493783820d354ccd20 to your computer and use it in GitHub Desktop.
Save akagisho/eb493783820d354ccd20 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
LANG=C
LC_ALL=C
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
unalias -a
set -e
if [ $# -lt 1 ]; then
echo "Usage: $0 <database1> [<database2> ...]" 1>&2
exit 1
fi
DATE=`date +'%Y%m%d_%H%M%S'`
FILE=mysqldump.$DATE.sql.gz
mysqldump --single-transaction $@ | gzip > $FILE
BACKUP_GENERATION=${BACKUP_GENERATION:-14}
BACKUP_COUNT=`ls -1 mysqldump.*.sql.gz | wc -l`
BACKUP_EXPIRED=`expr $BACKUP_COUNT - $BACKUP_GENERATION`
if [ $BACKUP_EXPIRED -gt 0 ]; then
for i in `ls -1 mysqldump.*.sql.gz | head -n $BACKUP_EXPIRED`; do
rm -f $i
done
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment