社区
系统维护与使用区
帖子详情
crontab 定时任务问题
opps_zhou
2010-12-06 05:55:18
我写了一个 shell 脚本,是用来自动从数据库里查出数据,并将数据通过 sendmail 发送邮件到指定的邮箱里
这个脚本,我在 root 用户下测试过,没有任何问题
但是我在 root 用户建立 crontab 定时任务,发现任务会启动
但是执行不成功,通过查看日志,居然报 sendmail: command not found
为什么会有这样奇怪的问题?
如何解决这个问题
PS:脚本中的路径全部通过环境变量进行配置的,脚本中也包含 source 命令
...全文
383
7
打赏
收藏
crontab 定时任务问题
我写了一个 shell 脚本,是用来自动从数据库里查出数据,并将数据通过 sendmail 发送邮件到指定的邮箱里 这个脚本,我在 root 用户下测试过,没有任何问题 但是我在 root 用户建立 crontab 定时任务,发现任务会启动 但是执行不成功,通过查看日志,居然报 sendmail: command not found 为什么会有这样奇怪的问题? 如何解决这个问题 PS:脚本中的路径全部通过环境变量进行配置的,脚本中也包含 source 命令
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
freetstar
2010-12-06
打赏
举报
回复
[Quote=引用 6 楼 xukunddp 的回复:]
哦,我自己试了一下。在打印出调试语句的同时,也会真的执行脚本内容。
[/Quote]
调试嘛,就是边执行边看..
lz还是再看看path吧,看看起作用没
电灯泡
2010-12-06
打赏
举报
回复
哦,我自己试了一下。在打印出调试语句的同时,也会真的执行脚本内容。
电灯泡
2010-12-06
打赏
举报
回复
[Quote=引用 4 楼 steptodream 的回复:]
我在脚本中有设定环境变量 PATH,其中包含了 sendmail 的目录,为何还不可以?
---------
你在要执行sendmail命令的前面 输出一下PATH看看设定有没有成功啊!
写脚本 除了错误 你就要直接添加调试语句
或者sh -x ./script-file.sh的方式调试
有重来写代码不调试的人吗?
[/Quote]
顺便请问一下,sh -x ./script-file.sh ,打印出调试语句的同时,会不会真的执行脚本内容呢?
steptodream
2010-12-06
打赏
举报
回复
我在脚本中有设定环境变量 PATH,其中包含了 sendmail 的目录,为何还不可以?
---------
你在要执行sendmail命令的前面 输出一下PATH看看设定有没有成功啊!
写脚本 除了错误 你就要直接添加调试语句
或者sh -x ./script-file.sh的方式调试
有重来写代码不调试的人吗?
opps_zhou
2010-12-06
打赏
举报
回复
[Quote=引用 1 楼 lgxwqq111 的回复:]
加路径
/usr/bin/sendmail或者其他的
[/Quote]
我在脚本中有设定环境变量 PATH,其中包含了 sendmail 的目录,为何还不可以?
steptodream
2010-12-06
打赏
举报
回复
但是执行不成功,通过查看日志,居然报 sendmail: command not found
--------------
错误已经很明显是找不到sendmail命令 你为什么不考虑一下用全路径?
要知道直接输入sendmail命令 回去环境变量PATH里找的。
你可以在脚本一开始echo $PATH看看PATH是否包含sendmail所在的路径。
还是那句话 在使用crontab的时候 所有的命令及文件 都推荐写全路径
PS:脚本中的路径全部通过环境变量进行配置的,脚本中也包含 source 命令
-----------------------------------
上面都报命令没有找到 你都没想这确认一下你配置的环境变量是否正确?!
在脚本里配置完 然后输出一下看看结果是不是预想的!
freetstar
2010-12-06
打赏
举报
回复
加路径
/usr/bin/sendmail或者其他的
mac电脑设置
crontab
定时任务
,以及遇到的
问题
解决办法
设置一个
定时任务
,任务如下,该任务在linux服务器上是可以执行的。但是这个任务在mac上是不能执行的。需要按照一下步骤执行,肯定能搞定,如果还搞不定,私信我。1、确保
crontab
在mac上是运行的2、验证
crontab
是否可以执行
crontab
-e:编写
定时任务
脚本如果文件有内容,说明能执行。跳转到第4步。如果文件没有内容,说明
crontab
不能执行,
问题
点出在了mac的系统上,看第3步。3、mac开启
crontab
的权限切记,需要勾选。4、使用绝对路径。
crontab
定时任务
常见
问题
如果没有cron的话按下面的方式进行安装 apt-get install cron 1、首先创建一个
定时任务
:每分钟向屏幕输出"Hello world!"。 有两种实现方式: 1)输入
crontab
-e命令,根据提示直接在当前cron task文本最后面插入如下命令(记得回车): * * * * * echo "Hello world!" 2)由于每个用户的
定时任务
都在/var/spool/cron/
crontab
s目录下有个与用户名一致的任务文件,因此也可以通过vim直接编辑: sudo vim /
linux
crontab
排查
问题
,【linux】
crontab
定时任务
不执行的
问题
排查
今天一位朋友问我:老范 我的
定时任务
咋不执行,命令如下:* * * * * /usr/bin/curl http://www.test.com/index.php?a=login&m=
crontab
>> /home/laofandata/cron.log 2>&1随即开始排查:1 单独访问了这个url。成功!2 我登陆宝塔面板。添加了访问url的
定时任务
。...
php think
crontab
,
crontab
定时任务
在 ThinkPHP 内使用时的
问题
摘要咱们项目框架是 ThinkPHP5.0.24 ,系统环境为 Linux(Red Hat 4.8.5-11) 。由于一些缘由,每次到月初,项目应用总会报错:phperror_log(/******/runtime/log/201903/20_sql.log): failed to open stream: Permission deniedhtml记录一下,解决的过程和方法。linux心路历程r...
关于linux
定时任务
crontab
不能执行等的一些
问题
crontab
是linux下实现
定时任务
的命令,但是他还是有很多坑需要我们注意,这里列举一些,如果遇到新的会再更新。 1.shell脚本能单独运行,但是计划任务里面无法运行 这种
问题
往往是环境变量的
问题
,就是你所执行的命令没有明确一些环境变量。建议的解决办法: (1)在所写脚本上加入环境变量,如下: export PATH=/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/home/x/bin:/usr/bin 1 或者加入这句话 source ~/.bash_profi
系统维护与使用区
19,614
社区成员
74,557
社区内容
发帖
与我相关
我的任务
系统维护与使用区
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
复制链接
扫一扫
分享
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章