Wykonanie backupu wszystkich baz, każda do osobnego pliku
Na potrzeby backupu baz danych będziemy potrzebować następującego skryptu:
Wersja dla systemów linux
Tworzymy plik:
vim NazwaSkryptu.sh
#!/bin/bash
USER="NazwaUseraBackupu"
PASSWORD="HasłoBackup"
#OUTPUT="Ścieżka zapisu plików"
#Ewentulne usuwanie starych backupów
#rm "$OUTPUTDIR/*gz" > /dev/null 2>&1
databases=`mysql -u $USER -p$PASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
for db in $databases; do
if [[ "$db" != "information_schema" ]] && [[ "$db" != "performance_schema" ]] && [[ "$db" != "mysql" ]] && [[ "$db" != _* ]] ; then
echo "Dumping database: $db"
mysqldump -u $USER -p$PASSWORD --databases $db > `date +%Y%m%d`.$db.sql
# Ewentualne packowanie plików SQL
# gzip $OUTPUT/`date +%Y%m%d`.$db.sql
fi
done
Należy pamiętać by nadać uprawnienia do uruchamiania (atrybut x) dla pliku:
chmod +x NazwaSkryptu.sh
Wykonujemy poprzez
./NazwaSkryptu.sh
Można też oczywiście dodać to do crontab