免费注册 查看新帖 |

Chinaunix

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

crontab的问题(脚本总是不执行) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-02-15 18:03 |只看该作者 |倒序浏览
我的脚本是实现动态向远程拷贝文件的,使用的expect
假设文件名为test.sh,直接执行该文件/root/test.sh没有什么问题,可是放在crontab文件中就是不执行,请高手指点实在不知是什么问题
难道是expect的问题吗

论坛徽章:
0
2 [报告]
发表于 2005-02-15 18:10 |只看该作者

crontab的问题(脚本总是不执行)

#env
copy and paste whatever output at begining of the test.sh

论坛徽章:
0
3 [报告]
发表于 2005-02-16 07:58 |只看该作者

crontab的问题(脚本总是不执行)

test.sh
在它的最前面加上路径!

论坛徽章:
1
寅虎
日期:2015-01-23 02:35:47
4 [报告]
发表于 2005-02-16 08:27 |只看该作者

crontab的问题(脚本总是不执行)

看一下发给root的mail有什么报错就知道了

论坛徽章:
0
5 [报告]
发表于 2005-02-16 09:23 |只看该作者

crontab的问题(脚本总是不执行)

应该是环境crontab和root的环境不一样导致,个人意见

论坛徽章:
0
6 [报告]
发表于 2005-02-16 09:45 |只看该作者

crontab的问题(脚本总是不执行)

crontab的脚本如下
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

40 * * * * root /opt/test.sh

test.sh的脚本如下:
#!/tools/bin/expect -f
set timeout 30
spawn scp /root/install.log 192.168.1.11:/opt/
expect "password:"
send "pwd\r"
send "sleep 1\r"
interact
单独执行该脚本没有问题,能够实现远程拷贝,但是crontab中就是不执行

论坛徽章:
0
7 [报告]
发表于 2005-02-16 10:24 |只看该作者

crontab的问题(脚本总是不执行)

当使用c r o n t a b运行s h e l l脚本时,要由用户来给出脚本的绝对路径,设置相应的环境变量。记住,既然是用户向c r o n提交了这些作业,就要向c r o n提供所需的全部环境。不要假定c r o n知道所需要的特殊环境,它其实并不知道。所以你要保证在s h e l l脚本中提供所有必要的路径和环境变量,除了一些自动设置的全局变量。
如果c r o n不能运行相应的脚本,用户将会收到一个邮件说明其中的原因。

论坛徽章:
0
8 [报告]
发表于 2005-02-16 10:46 |只看该作者

crontab的问题(脚本总是不执行)

谢谢了,我上边的代码已经贴上了
我把crontab改成这样还是不行,请问能说得详细些吗?
SHELL=/bin/bash:/tools/bin/expect
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

40 * * * * root /opt/test.sh
还有crontab的邮件发到哪里去了,我怎么找不到啊,我是linux新手,请指点,具体还有哪些环境变量需要加呢,加到哪里?谢谢

论坛徽章:
0
9 [报告]
发表于 2015-01-04 17:31 |只看该作者
遇到同样问题,居然只是查到帖子。

拜读了一下oychw的一篇文章《Expect 教程中文版 [较好的交互式工具] 》
     blog.chinaunix.net/uid-20393955-id-344785.html
完整url发不过来,复制到浏览器应该就可以打开。

把expect脚本最后一句
interact
改成了
expect eof
exit

就OK了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP