mysql.sh代碼如下:User="root"DATABASE="db"TABLE="table"DATA=`mysql -u $USER $DATABASE <<EOF | tail -n+2select id from $TABLE;EOF`MySQL的密碼已經(jīng)配置在my.cnf中,使用shell無需密碼驗證出現(xiàn)的問題是在命令行使用./mysql.sh可以正常讀取到MySQL數(shù)據(jù),但是把./mysql.sh放入contab就會讀不到數(shù)據(jù)。contab -e:*/1 * * * * /sh/mysql.sh已經(jīng)找到原因了,是手動執(zhí)行的環(huán)境和crontab執(zhí)行的環(huán)境不同造成的,把命令都改成據(jù)對路徑,mysql 改成類似 /usr/bin/mysql就可以了,但是為什么手動執(zhí)行的環(huán)境和crontab執(zhí)行的環(huán)境不同呢?他們各是什么環(huán)境?
1 回答

湖上湖
TA貢獻2003條經(jīng)驗 獲得超2個贊
一個是登錄環(huán)境,由 login 設置并讀取 /etc/profile,然后啟動登錄 shell,由它再讀取一系列初始化文件。
另一個是 crond 設置的環(huán)境,沒有執(zhí)行以上任何步驟,只設置了最小的環(huán)境變量集。
添加回答
舉報
0/150
提交
取消