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/mysqldumpmkdir -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»
donerdiff-backup /tmp/backup_mysql /root/backup_mysql
Funktioniert nach dem einfachen Prinzip:
- Dump DB als gzip
- inkrementelles Backup via rdiff-backup