Backup von Datenbanken in einer Entwicklungsumgebung

Ich habe hier mal ein kleines bash-script geschrieben, womit man alle Datenbanken in einer Entwicklungsumgebung automatisch sichern kann,- vielleicht rette ich damit ja das eine oder andere Leben. Das ganze in eine Text-Datei schreiben (zb. backup_databases.sh), Konfiguration ausfüllen, abspeichern und als "Ausführbar" markieren. Wenn das ganze dann als Cronjob eingetragen wird, braucht man sich wohl keine Sorgen mehr zu machen.


#! /bin/bash ####################### ####################### ######### config - start DATE=$(date +%Y-%m-%d); DIR_WORK1=/PATH-TO-DESTINATION"/"$DATE DIR_WORK2=/PATH-TO-DESTINATION"/"$DATE"/"databases USERNAME=USERNAME_FOR_MYSQL PASSWORD=PASSWORD_FOR_MYSQL USERNAME_LINUX=USERNAME_IN_LINUX ######### config - end ###################### ###################### ######### create new dirs in destination if [ ! -d $DIR_WORK1 ]; then mkdir $DIR_WORK1; fi if [ ! -d $DIR_WORK2 ]; then mkdir $DIR_WORK2; fi ######### Make sure the user has write permissions in the destination directory chown -Rf $USERNAME_LINUX:$USERNAME_LINUX $DIR_WORK1 $DIR_WORK2; fi ######### log in as user into msql DATABASES=`mysql -u$USERNAME -p$PASSWORD -Bse 'show databases'` ######### backup all databases for DATABASE in $DATABASES; do mysqldump -u$USERNAME -p$PASSWORD $DATABASE > $DIR_WORK2"/"${DATABASE}.sql tar -czf $DIR_WORK2"/"${DATABASE}.tar.gz $DIR_WORK2"/"${DATABASE}.sql rm $DIR_WORK2"/"${DATABASE}.sql done ######### write logfile echo $DATE - Backup of databases executed >> $HOME/backup.log

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.