shell脚本中一段内容执行的时间如果超出10秒则跳出怎么写

我这个shell脚本功能主要是测试ftp连接是否成功,连接ftp时会产生一个日志log,如果日志中有login字段则成功,如果是error字段则证明连接失败,把log中的error插入到数据库中的数据表table_test中,正常成功连接不超过1秒,如果失败的话连接时间特别长,就想设置一下超过10秒直接向数据表中插入报错信息

十秒自动跳出方法很多,shell脚本一般使用建立新的进程,十秒后杀掉。还有expect控制timeout。其它的像python parl就不属于bash范畴了。

 

我推存给你一个方法,使用lftp,常用的linux衍生版基本都有这个工具,下面是命令,其它方法你自行百度

 

1.设置一个变量,定义一些lftp的配置,比如超时时间、重试次数等

lftp_set="set dns:fatal-timeout 5;set dns:max-retries 1;set dns:use-fork no;set net:timeout 5;set net:max-retries 1"

 2.一行lftp命令,功能是登录一个ftp服务,登录后会自行退出,同时五秒自动超时

lftp -c "$lftp_set;open 

:$ftp密码@$ftp服务ip:$ftp服务prot:$目录"

以上两行解决你ftp超时问题,还挺方便的吧

 

以下是常用的BASH插入数据的脚本,你参考一下,希望你能把你写的放上来,大家都可以帮你看看

aaa=`sqlplus  -silent "/ as sysdba" <<EOF
     set echo off head off pagesize 0
     你插入的语句;
     exit;
     EOF`

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-15
起码说下是什么数据库么0.0追问

就是oracle数据库,这个应该是在判断ftp连接的时候进行一些处理我觉得

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网