Datenbanken kopieren und sichern mit mysqldump
15. Mai 2014
Oftmals muss man Datenbanken kopieren und sichern. Die eigentliche Funktion ist simpel. Mit einem Script kann man sich regelmäßigkeit natürlich auch sparen. Installation: sudo apt-get install mysqldump Datenbanksicherung: Mit einem simplen Befehl kann man es sichern: mysqldump -u DATENBANKUSERNAME -p DATENBANKNAME > SQLfile.sql Info: Option –opt: ist standardmäßig aktiviert. Option -u: Benutzername Option -p: Password […]

Oftmals muss man Datenbanken kopieren und sichern.
Die eigentliche Funktion ist simpel.
Mit einem Script kann man sich regelmäßigkeit natürlich auch sparen.
Installation:
sudo apt-get install mysqldump
Datenbanksicherung:
Mit einem simplen Befehl kann man es sichern:
mysqldump -u DATENBANKUSERNAME -p DATENBANKNAME > SQLfile.sql
Info:
- Option --opt: ist standardmäßig aktiviert.
- Option -u: Benutzername
- Option -p: Password verwenden
mysql -u DATENBANKUSERNAME -p DATENBANKNAME < SQLfile.sql
Automatisierung:
Möchte man das ganze automatisieren kann man das als Script realisieren:
#!/bin/bash
#Variablen
# Anzahl, der max. Speicherungen
SAFE=2
#Pfad
PATH="/home/$USER"
#Datenbank
DATABASE=db_xyz
DBUSER=MyUser
DBPW=MyPw
BACKUPS=`find $PATH -name "mysqldump-*.gz" | wc -l | sed 's/\ //g'`
while [ $BACKUPS -ge $SAFE]
do
ls -tr1 $PATH/mysqldump-*.gz | head -n 1 | xargs rm -f
BACKUPS=`expr $BACKUPS - 1`
done
DATE=`date +%Y%m%d%H%M%S`
rm -f $PATH/.mysqldump-${DATE}.gz_INPROGRESS
/usr/syno/mysql/bin/mysqldump --opt -u$DBUSER -p$DBPW $DATABASE | gzip -c -9 > $PATH/.mysqldump-${DATE}.gz_INPROGRESS
mv -f $PATH/.mysqldump-${DATE}.gz_INPROGRESS $PATH/mysqldump-${DATE}.gz
exit 0
Cronjob:
# Command jede Minute ausführen:
* * * * * root sh /home/$USER/mysqlbackup.sh
# Jeden Tag um 22:00 h ausführen
0 22 * * * root sh /home/$USER/mysqlbackup.sh
# Jeden Sa. um 22:00 h ausführen
0 22 * * 6 root sh /home/$USER/mysqlbackup.sh
# Alle 5 min ausführen
*/5 * * * * root sh /home/$USER/mysqlbackup.sh
# Alle 2 Std. ausführen
00 */2 * * * root sh /home/$USER/mysqlbackup.sh
# Von Mo. bis Fr. um 01:00 h ausführen
0 1 * * 1-5 root sh /home/$USER/mysqlbackup.sh
Kommentare
Kommentare werden geladen...