社区
系统维护与使用区
帖子详情
crontab 定时任务问题
opps_zhou
2010-12-06 05:55:18
我写了一个 shell 脚本,是用来自动从数据库里查出数据,并将数据通过 sendmail 发送邮件到指定的邮箱里
这个脚本,我在 root 用户下测试过,没有任何问题
但是我在 root 用户建立 crontab 定时任务,发现任务会启动
但是执行不成功,通过查看日志,居然报 sendmail: command not found
为什么会有这样奇怪的问题?
如何解决这个问题
PS:脚本中的路径全部通过环境变量进行配置的,脚本中也包含 source 命令
...全文
311
7
打赏
收藏
crontab 定时任务问题
我写了一个 shell 脚本,是用来自动从数据库里查出数据,并将数据通过 sendmail 发送邮件到指定的邮箱里 这个脚本,我在 root 用户下测试过,没有任何问题 但是我在 root 用户建立 crontab 定时任务,发现任务会启动 但是执行不成功,通过查看日志,居然报 sendmail: command not found 为什么会有这样奇怪的问题? 如何解决这个问题 PS:脚本中的路径全部通过环境变量进行配置的,脚本中也包含 source 命令
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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或者其他的
crontab
定时任务
不生效
问题
解决
导致
crontab
定时任务
不生效
问题
可能的原因非常多 首先,排查一些可能会导致
问题
出现的简单原因。 1.Linux的时间与互联网时间不一致 2.定时执行的.sh文件无执行权限 3.
crontab
进程未启动 4.
定时任务
重定向日志的路径不存在 5.环境变量
问题
6.没有写绝对路径 通过排查,一一否定了上述所有可能,不是某个
定时任务
有
问题
,而是所有
定时任务
均不生效。 继续查看
crontab
的日志 tail -f /var/log/cron Dec 3 08:30:01test crond[21199]: (r
crontab
定时任务
命令详解
crontab
定时任务
命令详解
linux
crontab
随机 时间,Linux
Crontab
定时任务
图文详述
Linux内置的cron进程能帮我们实现这些需求,cron搭配shell脚本,非常复杂的指令也没有
问题
。cron介绍我们经常使用的是
crontab
命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件。/var/spool/cron/ 目录下存放的是每个用户包括root的
crontab
任务,每个任务以创建者的名字命名/etc/cront...
crontab
定时任务
和日志
在Unix和类Unix的操作系统之中,
crontab
命令常用于设置周期性被执行的指令,也可以理解为设置
定时任务
。 1.安装cron apt-get install cron 设置
crontab
定时任务
crontab
-e */1 * * * * /usr/bin/python /python/asch-check.py 编辑输入以上(表示1分钟执行一次asch-check.py脚本) 启动: service cron start
crontab
中的
定时任务
有时候没有成功执行,什么原因呢?这时就需要
Linux设置
crontab
定时任务
linux创建
crontab
定时任务
。
系统维护与使用区
19,614
社区成员
74,587
社区内容
发帖
与我相关
我的任务
系统维护与使用区
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
复制链接
扫一扫
分享
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章