关于定时执行sh脚本的问题

FS-Leehom 2017-01-04 09:39:38
我用的是centos系统,sh脚本功能就是连接数据库,调用一个存储过程的函数。直接在控件台用./test.sh可以正常执行,结果也是预期的结果。然后用crontab加了一条1分钟执行的命令。启动cron...
现在问题来了,每分钟是执行了一次(我有输出日志文件,日志隔一分钟修改时间就变了)但是数据库操作却一点没变化。也就是sh脚本执行了,但是mysql脚本并未执行。

定时执行:*/1 * * * * sh /home/shell/offline.sh

offline.sh内容如下:
#!/bin/bash

mysql -u root -pl123 << EOF >/home/shell/log.txt
CALL test.AutoClear();
EOF
...全文
714 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_38497228 2018-10-18
  • 打赏
  • 举报
回复
引用 2 楼 lh15871815717 的回复:
确实是环境变量的原因,但是我加了ROOT里面的配置,又加了其它的mysql的配置。都没用。
最后居然还是一句很简单的代码搞定了。
#!/bin/bash
/usr/local/mysql/bin/mysql -u root -pl123 << EOF >/home/shell/log.txt
CALL xianjian_sy.AutoClear();
EOF

直接用mysql的全路径。
大家来吧,送分了!!!


正解
happyzeng79 2017-01-06
  • 打赏
  • 举报
回复
谢谢楼主的解决方法。
  • 打赏
  • 举报
回复
FS-Leehom 2017-01-04
  • 打赏
  • 举报
回复
确实是环境变量的原因,但是我加了ROOT里面的配置,又加了其它的mysql的配置。都没用。 最后居然还是一句很简单的代码搞定了。 #!/bin/bash /usr/local/mysql/bin/mysql -u root -pl123 << EOF >/home/shell/log.txt CALL xianjian_sy.AutoClear(); EOF 直接用mysql的全路径。 大家来吧,送分了!!!
FS-Leehom 2017-01-04
  • 打赏
  • 举报
回复
看到有人说要加环境变量,我是ROOT用户。加了一样没反应。我去。 #!/bin/bash source /root/.bash_profile mysql -u root -pl123 << EOF >/home/shell/log.txt CALL test.AutoClear(); EOF

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧