Shell Script: Backup and gzip mysql databases for linux systems
Dies ist ein sehr hilfreiches Skript zur Sicherung von MySQL-Datenbanken. Alle Datenbanken werden automatisch gedumpt, gezippt und wie folgt benannt:
DATABASENAME.yyyyyyymmdd.gzip.
Das Script kann man z.B. jede Nacht als Cronjob ausführen. Der Wert EXPIRETIME bestimmt, nach wievielen Backups (Tagen) alte Backups gelöscht werden. So läuft man nicht Gefahr, die Platte übermäßig zu belasten.
# mysql_backup.sh # Directory to save backups BACKUP_DIR=${1:-/backups/mysql} # Define cycle EXPIRETIME=10 # Get actual date DATE=`date "+%Y%m%d"` # check if directory exists # if not, then create directory if [ ! -d $BACKUP_DIR ]; then mkdir -p $BACKUP_DIR chown 0700 $BACKUP_DIR fi # loop all databses and dump for i in /var/lib/mysql/*/; do dbname=`basename "$i"` mysqldump --user=root --password=YOURPASSWORD "$dbname" | gzip > $BACKUP_DIR/$dbname.$DATE.gz done # delete all old Backups find $BACKUP_DIR -mtime +${EXPIRETIME} -exec rm {} \;