Newer
Older
#!/bin/bash
DATE=$(date +"%Y-%m-%d-%H-%M-%S")
BACKUP_DIRECTORY="/backup"
DIRECTORIES_NAME_PATTERN='ecolyo-agent-20*'
NUMBER_TO_KEEP=14
BACKUP="${BACKUP_DIRECTORY}/ecolyo-agent-${DATE}"
# Create a new directory into backup directory location for this date
mkdir -p $BACKUP
# Dumb the database
mysqldump --host=database-agent --port=3306 -u root -p$MYSQL_ROOT_PASSWORD $MYSQL_DATABASE >"$BACKUP/$MYSQL_DATABASE.sql"
# Remove all but last n saves
find $BACKUP_DIR/* -maxdepth 1 -type d -name $DIRECTORIES_NAME_PATTERN -printf '%T@\t%p\n' |
sort -t $'\t' -g |
head -n -$NUMBER_TO_KEEP |
cut -d $'\t' -f 2- |
xargs rm -Rf