Hi Timur,
ja ok, aber was muss an den backup anhängen damit es klappt?
Einen entsprechenden Ausdruck, der das gewünschte Datum erzeugt, das dürfte am einfachsten mit date
gehen, siehe man date
.
#!/bin/bash
FILE=/home/myuser/backup/backup-`date +%Y%m%d-%H%M`.sql.gz
/usr/bin/mysqldump --user=mysqluser --password=mysqlpassword databasename | gzip > $FILE
OLDFILE=/home/myuser/backup/backup-`date -d "30 days ago" +%Y%m%d-%H%M`.sql.gz
if [ -f $OLDFILE ]; then
rm $OLDFILE
fi
So sieht das z.B. bei mir aus. Löscht dann der Bequemlichkeit halber direkt noch das 30-Tage alte Backup, sofern dieses vorhanden ist. Muss dafür halt nur täglich zur selben Uhrzeit laufen, also z.B. mit folgendem Crontab-Eintrag:
m h dom mon dow command
53 23 * * * /home/myuser/bin/make-backup.sh
Viele Grüße,
~ Dennis.