免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2704 | 回复: 5
打印 上一主题 下一主题

crontab里执行脚本路径的疑惑 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-29 20:40 |只看该作者 |倒序浏览
我的crontab -e 是这样写的
*/3 * * * *  cd /home/XXX; ./program1

意思就是,每3分钟进入目录/home/XXX,然后执行脚本program1

而这个脚本program1里,我又进入了另一个路径,去执行program2.

cd /home/YYY; ./program2

而在program2里,我做这件事:
killall -9 test
../program3

就是说,咋program2里,我kill掉test进程后,执行该目录上一层的program3,结果我发现program3没被执行。可如果我把program1放进/home/YYY里,然后修改 crontab 改为:
*/3 * * * *  cd /home/YYY; ./program1
就可以了。不知道为什么。我猜想与路径有关,可是不确定。我每个脚本都有做路径的改动(比如 CD),为什么不行呢?

论坛徽章:
0
2 [报告]
发表于 2009-10-29 20:53 |只看该作者
权限?

论坛徽章:
0
3 [报告]
发表于 2009-10-29 20:56 |只看该作者
我自己执行自己的脚本,没有权限的问题呀

论坛徽章:
1
天秤座
日期:2013-10-23 13:20:42
4 [报告]
发表于 2009-10-29 22:09 |只看该作者
你这个crontab 是那个用户下的
/home/XXX

/home/YYY
权限和宿主,组各是什么?

你能否将这  ./program2 也copy到 /home/XXX,在测试下。我怀疑,那个cd就根本没有cd成功。

ps:你脚本的开头有应用环境变量吗
source /etc/profile
source ~/.bash_profile    --是bash吧!

招聘 : 技术支持/维
论坛徽章:
0
5 [报告]
发表于 2010-01-18 22:05 |只看该作者

回复 #1 trustit 的帖子

命令用全路径

论坛徽章:
0
6 [报告]
发表于 2010-01-19 10:48 |只看该作者
把你crontab里面的内容写到一个脚本,然后sh -n script_name

先测试下你的脚本是否有问题。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP