定时任务中的shell脚本调用expect脚本

今天在调增量备份脚本的时候,遇到了一个问题。明明脚本手工执行是没有问题的,可却在系统自动执行的时候报错了。结果就是各种的搜了,今天也为此标记下。

修改前的代码片段:

#! /usr/bin/expect

#set timeout=3

spawn scp -r root@10.14.162.35:/data/wyh/test/binary/  .
expect {
"password:" { send "******\r" }

}
interact
exit

修改后的代码片段:

#! /usr/bin/expect

#set timeout=3

spawn /usr/bin/scp -r root@10.14.162.35:/data/wyh/test/binary/  .
expect {
"password:" { send "******\r" }

}
#interact
expect eof
exit

改动的地方:

1.补全了命令的绝对路径(查看命令绝对路径的方式: whereis  command) 或修改crontab的配置环境:

vim /etc/crontab   将命令所在的执行路径加入crontab配置表 如下图所示:

234831_I62X_2899810.png

2.在shell脚本中调用expeccet脚本,需在最后将 interact该为 expect eof

3. 在定时任务中,在遇到问题时,通过crontab日志查询错误是很重要的一步。相关命令:

  less /var/log/crontab

 

转载于:https://my.oschina.net/szwyh2014/blog/741270

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值