关于crontab执行的问题

回复 收藏
铭哥,我写了一脚本每天自动执行scp功能,脚本以下:
#!/usr/bin/expect

set timeout 0

spawn /usr/local/bin/scp /data/temp.txt testt@0.0.0.0:/data/Report/
expect "password:"
exec sleep 1
send "hello\r"
interact

然后在crontab -e 里设置该脚本执行时间:35 7 * * * /data/scptest.sh > /data/scp.log 2>&1
但是这个拷贝过程总是执行不了。
在scp.log里显示spawn /usr/local/bin/scp /data/temp.txt testt@0.0.0.0:/data/Report/这是什么意思?
我手动执行这个脚本就没问题,一切正常,但是放到crontab里就不行,不知道为什么?谢谢。
2011-09-05 13:48 举报
已邀请:
0
这种自动提交密码的脚本,末尾不能用interact,而是用
expect eof   
exit
0

阿铭 管理员

赞同来自:

还有一个问题,就是在脚本中,命令尽量要使用绝对路径,crontab中的PATH和系统里面的PATH是不一样的。

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: