shell脚本 20101102(二)
来源:互联网 发布:远程控制软件破解版 编辑:程序博客网 时间:2024/04/30 14:24
for和case的混合运用
set -A region hz hy mz gz yf qy zq sg jm mm zj yj st sw jy cz fs zs zh sz dg
for loop in ${region[*]}
do
print "select "123$loop," count(*) from "$loop"zw.sp_hlr_result where to_char(CREATTIME,'yyyymmdd')>='20071101' and to_ch
ar(CREATTIME,'yyyymmdd')<='20071130' and NETCELLIDERRCODE='000';" >/home/devis/bosskz.sql
case $loop in
jm|mz|qy|yf|zh|zs) dbtool cxquery@szdb2 -f[/home/devis/bosskz.sql] </tmp/cxn.txt>>/home/devis/cxnhlr.txt;;
sz) dbtool cxquery@szdb1 -f[/home/devis/bosskz.sql] </tmp/cxn.txt>>/home/devis/cxnhlr.txt;;
sg|hy|cz|sw|fs|mm) dbtool cxquery@dgdb2 -f[/home/devis/bosskz.sql] < /tmp/cxn.txt1>>/home/devis/cxnhlr.txt;;
yj|dg|zj) dbtool cxquery@dgdb1 -f[/home/devis/bosskz.sql] < /tmp/cxn.txt1>>/home/devis/cxnhlr.txt;;
hz|st|jy|zq) dbtool cxquery@gzdb2 -f[/home/devis/bosskz.sql] < /tmp/cxn.txt2>>/home/devis/cxnhlr.txt;;
gz) dbtool cxquery@gzdb1 -f[/home/devis/bosskz.sql] < /tmp/cxn.txt2>>/home/devis/cxnhlr.txt;;
*) echo "error!" ;;
esac
echo $loop
done
表空间报警
SELECT UPPER(d.TABLESPACE_NAME), D.TOT_GROOTTE_MB, D.TOT_GROOTTE_MB - nvl(F.TOTAL_BYTES,0), TO_CHAR(ROUND((D.TOT_GROOTTE_MB - nvl(F.
TOTAL_BYTES,0)) / D.TOT_GROOTTE_MB * 100, 2), '990.99'), nvl(F.TOTAL_BYTES,0), TO_CHAR(ROUND((D.TOT_GROOTTE_MB - nvl(F.TOTAL_BYTES,0
) - nvl(e.xxxx,0)) / D.TOT_GROOTTE_MB * 100, 2), '990.99'), nvl(e.xxxx,0)
FROM
(SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
where DD.BYTES is not null
GROUP BY DD.TABLESPACE_NAME
) D,
(select TABLESPACE_NAME,sum(BYTES/1024/1024) as xxxx from dba_segments where segment_name like 'BIN$%'
group by TABLESPACE_NAME) E
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME (+)
and d.TABLESPACE_NAME = E.TABLESPACE_NAME (+)
and (d.TABLESPACE_NAME like '%_MI%' or d.TABLESPACE_NAME like '%_HIS%' or d.TABLESPACE_NAME like '%ZWO%');
select to_char('100') from dual;
select to_char('100','0.0000') from dual;
计算每月的最后一天
startday=$1
days=6
yy=`echo $startday|cut -c 1-4`
mm=`echo $startday|cut -c 5-6`
dd=`echo $startday|cut -c 7-8`
days=`expr $days + $dd`
while [ $days -gt 0 ]
do
aaa=`cal $mm $yy`
bbb=`echo $aaa|awk '{print $NF}'`
sav_dd=$days
sav_mm=$mm
sav_yy=$yy
days=`expr $days - $bbb`
[ $days -gt 0 ] && mm=`expr $mm + 1`
if [ $mm -gt 12 ]
then
mm=1
yy=`expr $yy + 1`
fi
done
#! /usr/bin/ksh
############################################################
# 文件名: brand_duizhang_all.sh
# Copyright (c) 2006-2099 从兴公司维护部部
# 脚本名称:查询回割动感、神大-计费品牌资料冲销脚本V1.0(Final)
# 创建人: 卢斌
# 创建日期: 2009-05-12
# 修改人: 卢斌
# 修改日期: 2009-05-12
# 描 述: 该脚本的主要目的是:由于回割动感、神大查询计费
# 计费品牌资料生成冲销文件脚本
# 版 本: 1.0
# 联系方式:lubin@revenco.com
############################################################
. /home/cxljx/.profile
dbtool自动登录
dbtool ${DB} sql="${PROC} ; " afljk >> /dev/null 2>&1
自动FTP
echo user "cxph" "${code}" "/n"bin"/n"prompt"/n"cd /appdata/fileftp/c++file/batchbillingday/$area/outfile"/n"lcd /home/cxlf2/rolldis
billday/outfile"/n"get ROUT.$AREA.$DATE.$PIDnum3"/n"get BOUT.$AREA.$DATE.$PIDnum3"/n"by |ftp -n $ADDRESS >> /dev/null 2>&1
自动telnet脚本 几秒种后会被自动退出
(sleep 2
echo "cxhz"
sleep 2
echo "GMCC123B"
sleep 2
echo "cd ~/tzh"
sleep 2
echo "ls"
sleep 2
) | telnet 10.243.208.78
自动生成数据并FTP上传脚本
cat exc.txt|grep -i GSMX|awk '{print $0}'|tr "[A-Z]" "[a-z]"|grep -i fs|tr "[GS*
]" "[SCP]" >/home/cxzy/exc_01.txt
ftp -n 10.243.212.2 << !
user cxyejz Gmcc@0501
cd /home/cxyejz
bi
ls exc_01.txt
put exc_01.txt
quit
!
sql="select /*+ parallel (a 6) */ SERVNUMBER||'|'||STARTDATE||'|'||INVALIDDATE||
'|'||CREATEDATE||'|'||STATUSDATE from mgsj.${warea}_cm_subs_subscriber a"
sqlplus -s $DB <<EOF>/dev/null
ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:ss';
set echo off;
set feedback off;
set heading off;
set pagesize 0;
set linesize 1000;
set numwidth 12;
set termout on;
set trimout on;
set trimspool on;
spool /appdata/fileftp/tmp/${warea}_subscriber
$sql;
spool off;
exit;
EOF
. /home/devis/.profile
set -A LOCATE st jy cz sw hz mz zs hy fs zh sg yf zq qy mm yj zj gz dg jm
for AREA in ${LOCATE[*]}
do
case ${AREA} in
st)
SOR=汕头;
DB=user/password@sst;;
fs)
SOR=佛山;
DB=user/password@sfs;;
zh)
SOR=珠海;
DB=user/password@szh;;
hz)
SOR=惠州;
DB=user/password@shz;;
mz)
SOR=梅州;
DB=user/password@smz;;
sw)
SOR=汕尾;
DB=user/password@ssw;;
cz)
SOR=潮州;
DB=user/password@scz;;
jy)
SOR=揭阳;
DB=user/password@sjy;;
hy)
SOR=河源;
DB=user/password@shy;;
zq)
SOR=肇庆;
DB=user/password@szq;;
yf)
SOR=云浮;
DB=user/password@syf;;
qy)
SOR=清远;
DB=user/password@sqy;;
sg)
SOR=韶关;
DB=user/password@ssg;;
yj)
SOR=阳江;
DB=user/password@syj;;
zj)
SOR=湛江;
DB=user/password@szj;;
mm)
SOR=茂名;
DB=user/password@smm;;
zs)
SOR=中山;
DB=user/password@szs;;
gz)
SOR=广州;
DB=user/password@sgz1;;
dg)
SOR=东莞;
DB=user/password@sdg;;
jm)
SOR=江门;
DB=user/password@sjm;;
*)
echo 未知区域
esac
Proc01="unload to ${AREA}tmp
select TELNUM,PROC_TIME,NE_DESC from ${AREA}yy.sp_workf_comm_his_k where WORKF_
ID in ('RTU0001','RTU0011','RTU0002') and NE_DESC like '%优惠代码为2805缺少必要?
母郊幼柿?';"
dbtool ${DB} sql="${Proc01};" afljk >> /dev/null 2>&1
if test -e ${AREA}tmp; then #测试文件是否存在
print "${AREA}地市:";
cat ${AREA}tmp;
else
echo "${AREA}地市查询记录为空";
fi
done
- shell脚本 20101102(二)
- shell脚本知其一二
- shell脚本学习 二
- shell脚本(二)
- shell脚本基础知识二
- shell 脚本(二)
- shell脚本篇二---shell脚本写作
- shell 脚本学习指南-笔记(二)
- shell脚本学习笔记二
- shell 脚本语法 (二)
- shell脚本学习(二)
- Linux shell 脚本(二)
- shell脚本学习知识点(二)
- shell脚本编程(二)
- shell脚本练习(二)
- linux shell脚本案例二
- Shell脚本编程(二)
- Linux Shell脚本基础(二)
- http请求的详细过程
- 内存的分频
- 关于函数声明表达式的一道题目
- rip 路由
- 360和QQ
- shell脚本 20101102(二)
- .htaccess rewrite域名到子目录
- Android应用移植到OPhone平台指南
- SecureCRT 复制 Vim 乱码
- linux 安装 vnc
- Mysql安装
- Python3 批量转换文件编码 Encoding
- 托管代码VS非托管代码
- Android手机中的APNs 的设定,和常用代码片段