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\"]."
28 echo " Display file and file system status summary."
37 for cmd in mysql mysqldump; do
38 if ! which "$cmd" >/dev/null 2>&1; then
39 echo "$NAME: \"$cmd\" command not found!"
44 while [ $# -gt 0 ]; do
79 echo "Dumping MySQL server on \"$MYHOST\" (user \"$MYUSER\"):"
82 [ -n "$MYPW" ] && PWSWITCH="--password='$MYPW'" || PWSWITCH=""
84 echo "Getting list of databases from server ..."
86 mysql -h "$MYHOST" -u "$MYUSER" $PWSWITCH -e 'show databases' \
87 | grep "^\| " | cut -d' ' -f2 | grep -v "Database" \
88 | grep -v "information_schema" | grep -v "mysql"
91 echo "Failed to get list of databases! Aborting!"
95 echo "Dumping SQL data to file \"$OUTFILE\" ..."
100 --single-transaction \
101 --databases $DATABASES"
103 echo "Start: $(date)"
105 $CMD >"$OUTFILE"; r=$?
109 && echo "Dump command exited with code 0, success." \
110 || echo "Dump command FAILED with code $r!" >&2
112 if [ -e "$OUTFILE" -a -n "$STATS" ]; then