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