文档章节

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

Yum51
 Yum51
发布于 2016/09/01 23:54
字数 262
阅读 102
收藏 0

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

修改前的代码片段:

#! /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配置表 如下图所示:

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

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

  less /var/log/crontab

 

© 著作权归作者所有

上一篇: mysql权限管理
下一篇: awk 实例演示
Yum51
粉丝 0
博文 12
码字总数 14456
作品 0
深圳
程序员
私信 提问
expect实现自动交互由浅入深

expect实现自动交互由浅入深 作为运维人员可以通过Shell可以实现简单的控制流功能,如:循环、判断等。但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如t...

JAYZ_HAO
2017/10/14
0
0
通过Shell脚本用JDBC连数据库脱离项目框架执行Java业务流程

一.概述 如果项目中需要使用到定时任务来完成某些业务,一般有两种做法:定时任务依赖于项目;定时任务用批处理(windows执行)或者shell脚本(Linux)启动,不依赖于项目。 个人觉得,定时任...

谢思华
2015/08/10
0
0
《跟老男孩学Linux运维之shell编程实战》-第一章 shell脚本初步入门

本文是在学习《跟老男孩学Linux运维之shell编程实战》这本书时记录的知识点。看了这本书,我受益匪浅,当然这仅是我个人观点。下面我们言归正传,开始了解一下shell脚本吧! shell本身是一个...

shayatou_1990
2017/04/17
0
0
Linux定时任务没有执行的总结

昨天晚上让运维帮我更新上线了一个shell脚本,并添加到定时任务中准备凌晨12点06分执行,当我早上5点17醒来的时候,总感觉不对就去查邮件看看定时任务是否执行了,一看没有执行,然后直接远程...

sucre
2014/11/28
0
0
linux实现php定时执行cron任务详解

对于PHP本身并没有一套解决方案来执行定时任务,不过是借助sleep函数完成的。这种方就是要提前做一些配置,如实现过程: 代码如下: ignoreuserabort();//关掉浏览器,PHP脚本也可以继续执行....

linghangp
2013/12/25
542
1

没有更多内容

加载失败,请刷新页面

加载更多

利用mybatis generator生成实体类、Mapper接口以及对应的XML文件

项目中通常会遇到数据的持久化,如果是采用mybatis的orm,就会涉及到生成xml的问题,刚好mybatis官网提供了这么个插件MyBatis Generator,效果简直是棒呆。 1. 首先需要在build.gradle文件中...

啊哈关关
今天
2
0
SpringSocial相关的知识点

使用SprigSocial开发第三方登录 核心类 ServiceProvider(AbstractOauth2ServiceProvider):主要负责实现server提供商(例如QQ,微信等共有的东西),默认实现类是AbstractOauth2ServiceProvider...

chendom
今天
1
0
Java并发之AQS详解

一、概述   谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!   类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源...

群星纪元
昨天
2
0
Fabric-sdk-java最新教程

Fabric Java SDK是Fabric区块链官方提供的用于Java应用开发的SDK,全称为Fabric-sdk-java,网上可用资料不多,本文列出了精心整理的针对Fabric Java SDK的最新精选教程。 如果希望快速掌握F...

汇智网教程
昨天
2
0
react 子组件监听props 变化

componentWillReceiveProps //已经被废弃 getDerivedStateFromProps// 推荐使用//如果条件不存在必须要返回null static getDerivedStateFromProps(props, current_stat...

一箭落旄头
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部