Skip to content
Snippets Groups Projects
backup.sh 637 B
Newer Older
  • Learn to ignore specific revisions
  • #!/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