crontab不執行mysql的指令碼問題的解決!

rainbowbridg發表於2009-03-11

cat /root/myadmin/test.sh

#!/bin/sh
PATH=/usr/local/service/mysql-3306/bin:$PATH
export PATH
echo "test test createuid"
ginftool="/usr/local/service/mysql-3306/bin/mysql --socket=/usr/local/service/mysql-3306/mysql.sock --database=ginf_db"
$ginftool -e "select now();"

echo "end"

放在crontab裡發現不能裡面的sql語句,但是在命令列下直接執行是沒問題的!

是怎麼回事呢?

到/var/mail下檢視 tail -n 20 root,發現:

test test createuid
/usr/local/service/mysql-3306/bin/mysql: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory
end

在crontab裡不能發現libmysqlclient.so.15,但是發現這個是在/usr/lib/mysql下,不是預設的/usr/lib下,有2種方法來解決:

1、ln -s /usr/lib/mysql/libmysqlclient.so.15.0.0 /usr/lib/libmysqlclient.so.15

2、將export
LD_LIBRARY_PATH=/usr/lib/mysql

加入到指令碼里!

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7916042/viewspace-1018463/,如需轉載,請註明出處,否則將追究法律責任。

相關文章