Linux Shell Script: Backup and gzip MySQL Databases

Linux Shell Script: Backup and gzip MySQL Databases

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 {} \;

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.