我这个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" <<EOFset echo off head off pagesize 0
你插入的语句;
exit;
EOF`
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-08-15
起码说下是什么数据库么0.0追问
就是oracle数据库,这个应该是在判断ftp连接的时候进行一些处理我觉得