#!/bin/bash #filename: backup_mysql.sh CURRENTTIME=`date '+%Y-%m-%d-%H%M%S'` FILENAME="preferred_filename-$CURRENTTIME.sql" mysqldump -d mysql_db_name -u username --password=password > $FILENAME gzip $FILENAMEFür das Editieren der crontab Einträge stehen die folgenden Befehle zur Verfügung:
# Editieren der crontab mit dem vi crontab -e # Auflisten der aktuellen crontab für den aktuellen User crontab -lDas Skript möchte ich einmal täglich um 20:20 Uhr ausführen lassen. Dazu lege ich den folgenden Eintrag in der crontab ab (crontab -e starten und ala VI die Konfiguration eingeben):
# m h dom mon dow command 20 20 * * * /path/to/file/backup_mysql.sh.shDabei haben die Spalten in der crontab die folgende Bedeutung:
- Spalte - Minute 0-59 (mehrere Minuten-Angaben mit Komma, z.B. 0,30 für xx:00 und xx:30 Uhr) * für alle Minuten */5 für alle 5 Minuten (also xx:00, xx:05, xx:10 Uhr, usw.)
- Spalte - Stunde 0-23 (mehrere Stunden-Angaben mit Komma, z.B. 10,13,17 für 10:xx, 13:xx und 17:xx Uhr) * für alle Stunden */4 für alle 4 Stunden (also 00:xx, 04:xx, 08:xx, 12:xx, 16:xx und 20:xx Uhr)
- Spalte - Tag im Monat 1-31 * für jeden Tag
- Spalte - Monat 1-12 * für jeden Monat
- Spalte - Wochentag 0-7 (0 und 7 stehen für Sonntag, 1 für Montag, usw.) * für jeden Wochentag
UPDATE: Eine Idee, wie so etwas aussehen kann, findet sich hier oder hier.