I am trying to run a query against MySQL 5.6.35 in bash and let it complete 0 if the value is greater than or equal to 14. I can make it show the results that I would expect, but not output 0.
Script:
#!/bin/bash
query="SELECT count(*) FROM weekly WHERE date > DATE_SUB(NOW(), INTERVAL 1 WEEK)"
mysql -u root -sN weekly_db -e "$query";
if test $query -ge 14 ; then
echo "OK"
exit 0
else
echo "CRITICAL"
exit 2
fi
Here is the executed bash script:
~
39
./check.sh: line 6: test: too many arguments
CRITICAL
UPDATE WITH ANSWER:
This is how I thanked this for the help of codeforester
#!/bin/bash
query="SELECT count(*) FROM weekly WHERE date > DATE_SUB(NOW(), INTERVAL 1 WEEK)"
OUTPUT=$(mysql -u root sN weekly_db -e "$query";)
if ((OUTPUT >= 14)) ; then
echo "OK"
exit 0
else
echo "CRITICAL"
exit 2
fi
Conclusion:
~
OK
source
share