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