mysql crontab,MySQL脚本直接sh能够成功,Crontab定时任务却报错

事发原因:我写了一个定时脚本,脚本里面有涉及到if判断,然后我在自己的服务器上面不论是crontab -e写定时脚本跑任务(在定时任务里面sh a.sh),还是自己直接sh a.sh,都是非常正常的,但是放到测试服务器上面,直接sh a.sh日志能够正常打印到log里面,

284e357ddd48

但是通过crontab -e定时任务里面的脚本,日志打印的是

284e357ddd48

没有具体的数值,这个就很奇怪,定时脚本里面也是sh 这个a.sh,为什么直接sh就可以,crontab定时任务sh这个脚本就不可以呢?

查看crontab的日志:

284e357ddd48

我的日志在上图在第三个里面:

crontab日志报错了:

284e357ddd48

第一行看到说mysql command not found,下面的那个[:too many arguments能想到是if那块的异常,先看第一行,我去,明显就是MySQL的问题,但是直接sh都是正常的,crontab -e设定时任务sh就报错,百度了一下:

系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。

3.1、首先得知道mysql命令或mysqladmin命令的完整路径

比如mysql的路径是:

/usr/local/mysql/bin/mysql,我们则可以这样执行命令:

ln -s  /usr/local/mysql/bin/mysql    /usr/bin

总结来说:MySQL的安装问题,如果MySQL是正常安装的是没有问题的.就怕rpm包安装,虽然简单,但是后续会有问题,而且rmp包需要单独安装MySQL的client

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值