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