Support #18982 » export.sh
1 |
#!/bin/bash
|
---|---|
2 |
|
3 |
# Array of site IDs.
|
4 |
declare -a sites=(8732 9470 13045 14452 17904 21293 23444 8321 11990 13226 1185) |
5 |
|
6 |
# MySQL credentials
|
7 |
database="commons_wp" |
8 |
|
9 |
# Loop through the array of site IDs and fetch tables like 'wp_{site_id}_'.
|
10 |
for i in "${sites[@]}" |
11 |
do
|
12 |
# Fetch the table names and remove the first line, which contains the title "Tables_in_databaseName"
|
13 |
tables=$(mysql -D "$database" -e "SHOW TABLES LIKE 'wp\_${i}\_%';" | sed 1d) |
14 |
|
15 |
# If there are no tables for this site ID, skip the mysqldump
|
16 |
if [ -z "$tables" ]; then |
17 |
echo "No tables found for site ID $i" |
18 |
continue
|
19 |
fi
|
20 |
|
21 |
# Convert the newline-separated table names to a space-separated string
|
22 |
tables_string=$(echo $tables | tr '\n' ' ') |
23 |
|
24 |
echo "Exporting site ${i}" |
25 |
|
26 |
# Use mysqldump to export the tables
|
27 |
# echo "${tables_string}"
|
28 |
mysqldump "$database" $tables_string > "site_${i}_backup.sql" |
29 |
done
|
30 |
|