skrypt Bash do eksportu bazy MySQL z pominięciem wybranych tabel
1. Utwórz plik, np. export_mysql.sh:
nano export_mysql.sh
2. Wklej do niego ten kod:
#!/bin/bash
DB="sklep"
USER="root"
PASS="twoje_haslo"
IGNORE_TABLES=("logi" "sesje" "tymczasowe")
IGNORE_STRING=""
for TBL in "${IGNORE_TABLES[@]}"; do
IGNORE_STRING+=" --ignore-table=${DB}.${TBL}"
done
mysqldump -u "$USER" -p"$PASS" "$DB" $IGNORE_STRING > "${DB}_export.sql"
echo "Eksport zakończony: ${DB}_export.sql"
Oczywiście podaj w skrypcie nazwę Twojej bazy, hasło, tabele do pominięcia (zamiast „logi”, „sesje”, itd)
3. Nadaj mu prawa do uruchamiania:
chmod +x export_mysql.sh
4. Uruchom:
./export_mysql.sh
NATOMIAST jeśli chcesz wyeksportować te pominięte tabele ale tylko ich strukturę użyj kontrukcji:
mysqldump -u root -p --no-data sklep logi sesje tymczasowe > struktura_tabel.sql
Oznacza to, że masz bazę sklep i chcesz wyeksportować tylko strukturę tabel:
logi sesje tymczasowe.
Jak widać nazwę bazy należy zdeklarować zaraz po fladze
--no-data

