From 90fbfaf41f2caab97eeef526980618861f2c4c81 Mon Sep 17 00:00:00 2001 From: Daniel Nichter Date: Thu, 8 Dec 2011 14:25:35 -0700 Subject: [PATCH] Don't quote $EXT_ARGV so multiple opts work. --- lib/bash/collect.sh | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/lib/bash/collect.sh b/lib/bash/collect.sh index 4b01b37e..9acf2a0c 100644 --- a/lib/bash/collect.sh +++ b/lib/bash/collect.sh @@ -74,7 +74,7 @@ collect() { # Get MySQL's variables if possible. Then sleep long enough that we probably # complete SHOW VARIABLES if all's well. (We don't want to run mysql in the # foreground, because it could hang.) - $CMD_MYSQL "$EXT_ARGV" -e 'SHOW GLOBAL VARIABLES' >> "$d/$p-variables" 2>&1 & + $CMD_MYSQL $EXT_ARGV -e 'SHOW GLOBAL VARIABLES' >> "$d/$p-variables" 2>&1 & sleep .2 # Get the major.minor version number. Version 3.23 doesn't matter for our @@ -95,7 +95,7 @@ collect() { tail_error_log_pid=$! # Send a mysqladmin debug to the server so we can potentially learn about # locking etc. - $CMD_MYSQLADMIN "$EXT_ARGV" debug + $CMD_MYSQLADMIN $EXT_ARGV debug else echo "Could not find the MySQL error log" fi @@ -108,9 +108,9 @@ collect() { else local mutex="SHOW MUTEX STATUS" fi - $CMD_MYSQL "$EXT_ARGV" -e "$innostat" >> "$d/$p-innodbstatus1" 2>&1 & - $CMD_MYSQL "$EXT_ARGV" -e "$mutex" >> "$d/$p-mutex-status1" 2>&1 & - open_tables >> "$d/$p-opentables1" 2>&1 & + $CMD_MYSQL $EXT_ARGV -e "$innostat" >> "$d/$p-innodbstatus1" 2>&1 & + $CMD_MYSQL $EXT_ARGV -e "$mutex" >> "$d/$p-mutex-status1" 2>&1 & + open_tables >> "$d/$p-opentables1" 2>&1 & # If TCP dumping is specified, start that on the server's port. local tcpdump_pid="" @@ -155,12 +155,11 @@ collect() { # get and keep a connection to the database; in troubled times # the database tends to exceed max_connections, so reconnecting # in the loop tends not to work very well. - $CMD_MYSQLADMIN "$EXT_ARGV" ext -i1 -c$OPT_RUN_TIME \ - >> "$d/$p-mysqladmin" 2>&1 & + $CMD_MYSQLADMIN $EXT_ARGV ext -i1 -c$OPT_RUN_TIME >>"$d/$p-mysqladmin" 2>&1 & local mysqladmin_pid=$! local have_lock_waits_table=0 - $CMD_MYSQL "$EXT_ARGV" -e "SHOW TABLES FROM INFORMATION_SCHEMA" \ + $CMD_MYSQL $EXT_ARGV -e "SHOW TABLES FROM INFORMATION_SCHEMA" \ | grep -qi "INNODB_LOCK_WAITS" if [ $? -eq 0 ]; then have_lock_waits_table=1 @@ -194,7 +193,7 @@ collect() { (netstat -antp 2>&1; echo $ts) >> "$d/$p-netstat" & (netstat -s 2>&1; echo $ts) >> "$d/$p-netstat_s" & - ($CMD_MYSQL "$EXT_ARGV" -e "SHOW FULL PROCESSLIST\G" 2>&1; echo $ts) \ + ($CMD_MYSQL $EXT_ARGV -e "SHOW FULL PROCESSLIST\G" 2>&1; echo $ts) \ >> "$d/$p-processlist" if [ $have_lock_waits_table -eq 1 ]; then @@ -235,9 +234,9 @@ collect() { kill -s 18 $mysqld_pid fi - $CMD_MYSQL "$EXT_ARGV" -e "$innostat" >> "$d/$p-innodbstatus2" 2>&1 & - $CMD_MYSQL "$EXT_ARGV" -e "$mutex" >> "$d/$p-mutex-status2" 2>&1 & - open_tables >> "$d/$p-opentables2" 2>&1 & + $CMD_MYSQL $EXT_ARGV -e "$innostat" >> "$d/$p-innodbstatus2" 2>&1 & + $CMD_MYSQL $EXT_ARGV -e "$mutex" >> "$d/$p-mutex-status2" 2>&1 & + open_tables >> "$d/$p-opentables2" 2>&1 & # Kill backgrounded tasks. kill $mysqladmin_pid @@ -249,9 +248,9 @@ collect() { } open_tables() { - local open_tables=$($CMD_MYSQLADMIN "$EXT_ARGV" ext | grep "Open_tables" | awk '{print $4}') + local open_tables=$($CMD_MYSQLADMIN $EXT_ARGV ext | grep "Open_tables" | awk '{print $4}') if [ -n "$open_tables" -a $open_tables -le 1000 ]; then - $CMD_MYSQL "$EXT_ARGV" -e 'SHOW OPEN TABLES' 2>&1 & + $CMD_MYSQL $EXT_ARGV -e 'SHOW OPEN TABLES' 2>&1 & else echo "Too many open tables: $open_tables" fi @@ -268,7 +267,7 @@ lock_waits() { INNER JOIN INFORMATION_SCHEMA.INNODB_TRX AS r ON r.trx_id = w.requesting_trx_id LEFT JOIN INFORMATION_SCHEMA.PROCESSLIST AS p ON p.id = b.trx_mysql_thread_id GROUP BY who_blocks ORDER BY num_waiters DESC\G" - $CMD_MYSQL "$EXT_ARGV" -e "$sql1" + $CMD_MYSQL $EXT_ARGV -e "$sql1" local sql2="SELECT r.trx_id AS waiting_trx_id, @@ -287,7 +286,7 @@ lock_waits() { INNER JOIN INFORMATION_SCHEMA.INNODB_LOCKS AS l ON w.requested_lock_id = l.lock_id LEFT JOIN INFORMATION_SCHEMA.PROCESSLIST AS p ON p.id = b.trx_mysql_thread_id ORDER BY wait_time DESC\G" - $CMD_MYSQL "$EXT_ARGV" -e "$sql2" + $CMD_MYSQL $EXT_ARGV -e "$sql2" } # ###########################################################################