我用的是centos系统,sh脚本功能就是连接数据库,调用一个存储过程的函数。直接在控件台用./test.sh可以正常执行,结果也是预期的结果。然后用crontab加了一条1分钟执行的命令。启动cron...
现在问题来了,每分钟是执行了一次(我有输出日志文件,日志隔一分钟修改时间就变了)但是数据库操作却一点没变化。也就是sh脚本执行了,但是mysql脚本并未执行。定时执行:*/1 * * * * sh /home/shell/offline.shoffline.sh内容如下:
#!/bin/bashmysql -u root -pl123 << EOF >/home/shell/log.txt
CALL test.AutoClear();
EOF

解决方案 »

  1.   

    看到有人说要加环境变量,我是ROOT用户。加了一样没反应。我去。
    #!/bin/bash
    source /root/.bash_profile
    mysql -u root -pl123 << EOF >/home/shell/log.txt
    CALL test.AutoClear();
    EOF
      

  2.   

    确实是环境变量的原因,但是我加了ROOT里面的配置,又加了其它的mysql的配置。都没用。
    最后居然还是一句很简单的代码搞定了。
    #!/bin/bash
    /usr/local/mysql/bin/mysql -u root -pl123 << EOF >/home/shell/log.txt
    CALL xianjian_sy.AutoClear();
    EOF直接用mysql的全路径。
    大家来吧,送分了!!!