MySQLMaintenanceScripts » mysqldump-tables.sh
1 |
#!/bin/sh
|
---|---|
2 |
|
3 |
#####################################################
|
4 |
# EDIT THESE SETTING #
|
5 |
|
6 |
BACKUPDIR="db_export"; |
7 |
|
8 |
DATABASE="drupal_dataportal" |
9 |
|
10 |
# the pattern to search for. eg: "my_site_%"
|
11 |
TABLEPATTERN="cdm_cichorieae_node_%"; |
12 |
|
13 |
####################################################
|
14 |
|
15 |
|
16 |
MYSQLDUMP="$(which mysqldump)"; |
17 |
DATEPREFIX="$(date +%Y-%m-%d_%H-%M-%S)"; |
18 |
FILENAME_FPART="$(echo $TABLEPATTERN | sed 's/%//g')"; |
19 |
FILENAME="${DATEPREFIX}_${DATABASE}.${FILENAME_FPART}.sql.gz"; |
20 |
|
21 |
MYSQL=$(which mysql); |
22 |
#TAR=$(which tar);
|
23 |
GZIP=$(which gzip); |
24 |
#NICE=$(which nice);
|
25 |
#EGREP=$(which egrep);
|
26 |
|
27 |
echo "will dump all tables matching $TABLEPATTERN from $DATABASE into $FILENAME"; |
28 |
read -p "mysql user:" MYSQL_USR; |
29 |
read -s -p "mysql password:" MYSQL_PWD; |
30 |
|
31 |
mkdir -p "$BACKUPDIR"; |
32 |
#echo $MYSQL -u $MYSQL_USR --password="$MYSQL_PWD" -Bse "show tables from $DATABASE LIKE '$TABLEPATTERN'";
|
33 |
|
34 |
TNS=$($MYSQL -u $MYSQL_USR --password="$MYSQL_PWD" -Bse "show tables from $DATABASE LIKE '$TABLEPATTERN'"); |
35 |
echo "\ntables:$TNS" |
36 |
|
37 |
$MYSQLDUMP -u $MYSQL_USR --password="$MYSQL_PWD" --single-transaction $DATABASE $TNS | $GZIP -c > "$BACKUPDIR/$FILENAME"; |