Einfaches Backup Script

Hier ein ganz einfaches Backup Script:

#!/bin/sh rdiff-backup /srv/users/ /root/backup/ rdiff-backup –remove-older-than 4W –force /root/backup

Basiert auf rdiff und löscht alle Backups welche älter als 4 Wochen sind. –Force ist notwendig, um sicherstellen, dass auch mal 2 Backups welche älter als 4 Wochen sind gelöscht werden.

Und hier ein Snipped, welches ein komplettes Backup einer MySQL DB macht:

#!/bin/sh

#TIME=»$(date +’%Y-%m-%d‘)» BACKUP_DIR=»/tmp/backup_mysql»

TIMESTAMP=$(date +»%F__%H») DB_BACKUP_DIR=»$BACKUP_DIR» MYSQL_USER=»backup» MYSQL=/usr/bin/mysql MYSQL_PASSWORD=»the_password» MYSQLDUMP=/usr/bin/mysqldump

mkdir -p «$DB_BACKUP_DIR»

#backup database databases=`$MYSQL –user=$MYSQL_USER -p$MYSQL_PASSWORD -e «SHOW DATABASES;» | grep -Ev «(Database|information_schema|performance_schema)»`

for db in $databases; do echo «Backup Database: $db» $MYSQLDUMP –force –opt –user=$MYSQL_USER -p$MYSQL_PASSWORD –databases $db | gzip > «$DB_BACKUP_DIR/$db.gz» done

rdiff-backup /tmp/backup_mysql /root/backup_mysql

Funktioniert nach dem einfachen Prinzip:

  • Dump DB als gzip
  • inkrementelles Backup via rdiff-backup