crontab中执行bash脚本问题

zhao_ivan 2009-11-02 09:58:41
root登录
root目录下有个bash文件test.pp 属性为 755
#---------------------
crontab -e
*/1 * * * * . /test.pp
#---------------------
test.pp
echo 'date' this is test.pp >> /home/1.log
# --------------------
mail得到的结果:
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
date.......
: No such file or directory;
#---------------------
看了不少帖子,说环境变量有问题。可是始终搞不定。
先谢了!!!
...全文
277 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liucy1983 2009-11-04
  • 打赏
  • 举报
回复
你在根目录下运行./test.pp的意思是执行当前目录下的test.pp文件,而在cron下不能这么做,要写绝对路径,
如果这个文件就是在根目录下的话就直接写/test.pp,加点是没用的,
而且你写的是. /test.pp,这样的话cron就会把这个点认为是用户,你有.这个用户??
redpichao 2009-11-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhao_ivan 的回复:]
多谢2位回复。
首先test.pp是可以运行的,只要在根目录下./test.pp即可,结果正确。

其次 date的引用是正确的。

我的问题是为什么crontab无法找到test.pp的文件?貌似任何一个自己写的bash文件,在crontab中都找不到。
[/Quote]
test.pp是可以运行的,但是在这里面你要加上环境变量就可以了。crontab会不识别这个test.pp是什么东东
zhao_ivan 2009-11-03
  • 打赏
  • 举报
回复
多谢2位回复。
首先test.pp是可以运行的,只要在根目录下./test.pp即可,结果正确。

其次 date的引用是正确的。

我的问题是为什么crontab无法找到test.pp的文件?貌似任何一个自己写的bash文件,在crontab中都找不到。
xiaocai0001 2009-11-02
  • 打赏
  • 举报
回复
注意那个date引起来的不是单引号, 而是反引号.

另外,如果不是上述问题引起的, 那就是你系统里的date不是在标准路径下, 你可以用which date或whereis date查找绝对路径的date命令, 在crontab里用绝对路径.
xiaocai0001 2009-11-02
  • 打赏
  • 举报
回复

echo "`date` this is test.pp" >> /home/1.log
jeff_jian 2009-11-02
  • 打赏
  • 举报
回复
没有看懂想问什么,*/1 * * * * . /test.pp 那行最后一个应该改为 /root/test.pp 吧。
首先你没有写明在哪个目录下面,其次也.与/之间有空格。

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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