shell脚本中一段内容执行的时间如果超出10秒则跳出怎么写
我这个shell脚本功能主要是测试ftp连接是否成功,连接ftp时会产生一个日志log,如果日志中有login字段则成功,如果是error字段则证明连接失败,把log中的...
我这个shell脚本功能主要是测试ftp连接是否成功,连接ftp时会产生一个日志log,如果日志中有login字段则成功,如果是error字段则证明连接失败,把log中的error插入到数据库中的数据表table_test中,正常成功连接不超过1秒,如果失败的话连接时间特别长,就想设置一下超过10秒直接向数据表中插入报错信息
展开
2个回答
展开全部
十秒自动跳出方法很多,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`
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询