3 # mkmysqldump -- dump MySQL (master) data
4 # Copyright (c)2015 Alexander Barton <alex@barton.de>
13 OUTFILE="$(hostname -s)-$(date "+%Y%m%d-%H%M%S").sql"
17 echo "$NAME [<options> ...]"
19 echo " --host|-h <host>"
20 echo " MySQL server hostname [\"$MYHOST\"]."
21 echo " --user|-u <user>"
22 echo " MySQL server user [\"$MYUSER\"]."
23 echo " --password|-p <password>"
24 echo " MySQL server password [\"$MYPW\"]".
25 echo " --outfile|-o <file>"
26 echo " Path and name of SQL dump file [\"$OUTFILE\"]."
27 echo " --outdir|-d <directory>"
28 echo " Directory for automatically named dump files."
30 echo " Display file and file system status summary."
39 for cmd in mysql mysqldump; do
40 if ! which "$cmd" >/dev/null 2>&1; then
41 echo "$NAME: \"$cmd\" command not found!"
46 while [ $# -gt 0 ]; do
70 OUTFILE="$2/$(hostname -s)-$(date "+%Y%m%d-%H%M%S").sql"
86 echo "Dumping MySQL server on \"$MYHOST\" (user \"$MYUSER\"):"
89 [ -n "$MYPW" ] && PWSWITCH="--password='$MYPW'" || PWSWITCH=""
91 echo "Getting list of databases from server ..."
93 mysql -h "$MYHOST" -u "$MYUSER" $PWSWITCH -e 'show databases' \
94 | grep "^\| " | cut -d' ' -f2 | grep -v "Database" \
95 | grep -v "information_schema" \
96 | grep -v "performance_schema" \
100 echo "Failed to get list of databases! Aborting!"
104 echo "Dumping SQL data to file \"$OUTFILE\" ..."
111 --databases $DATABASES"
113 echo "Start: $(date)"
115 $CMD >"$OUTFILE"; r=$?
119 && echo "Dump command exited with code 0, success." \
120 || echo "Dump command FAILED with code $r!" >&2
122 if [ -e "$OUTFILE" -a -n "$STATS" ]; then