写的shell小记(1)
来源:互联网 发布:cacti监控windows 编辑:程序博客网 时间:2024/06/15 14:00
也不知道写过了多少行的shell了,一直也没有做什么笔记,算了,汇个总,复制上来看看:
本脚本完成文件夹目录和数据库中数据的核对:
#!/bin/bash
#edit on 20090825
###################### 数据库 相关信息 ######################
DATA_SERVER_NAME=ora8i
DATA_USER=XXXXX #要屏蔽掉,否则死定了
DATA_PASS=XXXXX
###################### 数据库 相关信息 ######################
function lryinit()
{
echo "准备初始化..."
tmpyear=`date +%Y`
tmpdate=`date +%m%d`
}
function lrycheckinput()
{
lrydate=$1
echo $lrydate
if [ -z $lrydate ]
then
echo "请输入账务月(默认为当日)[$tmpdate]"
#read lrydate
echo "准备执行${lrydate:=$tmpdate}日检查"
fi
}
function lrysqlexec()
{
echo "$ORACLE_HOME/bin/sqlplus -s ${DATA_USER}/${DATA_PASS}@${DATA_SERVER_NAME} <<EOF
set feedback off;
set pagesize 0;
set tab on;
set line 1000;
set echo off;
set trims on;
$1;
quit;
EOF"
}
function lrycheckdatabase()
{
echo "检查数据库中下发文件总数"
lrysqlcycle="SELECT s.billing_cycle_id FROM sys_cycle s WHERE s.user_flag=1";
lrycycle=`lrysqlexec "$lrysqlcycle" | sh`
lrysqlcount="SELECT COUNT(*) FROM wzh.log_dispense_day w WHERE w.billing_cycle_id="$lrycycle" AND w.dispense_date="$lrydate"";
lrycount=`lrysqlexec "$lrysqlcount" | sh`
echo "数据库中下发文件总数为:$lrycount"
}
function lrycheckdatabak()
{
echo "准备检查备份文件夹的数据"
cd /settle3/test/data_bak/dis
bakcount=`ls -l *$tmpyear$lrydate* | wc -l`
echo "备份文件夹的数据为:$bakcount"
}
function checklogfile()
{
echo "检查日志文件"
cd /settle1/card2/script/lry/Log
if [ $1 -eq 1 ]
then
if [ -f check_dis_$tmpyear$lrydate.log ]
then
echo "日志文件存在,追加方式"
>> check_dis_$tmpyear$lrydate.log
else
echo "日志文件不存在,创建文件"
> check_dis_$tmpyear$lrydate.log
fi
fi
if [ $1 -eq 2 ]
then
if [ -f check_dis_$tmpyear${lrydate}_err.log ]
then
echo "错误日志文件存在,追加方式"
>> check_dis_$tmpyear${lrydate}_err.log
else
echo "错误日志文件不存在,创建文件"
> check_dis_$tmpyear${lrydate}_err.log
fi
fi
}
function lrycheckdiff()
{
if [ $lrycount -eq $bakcount ]
then
checklogfile 1
#cd /settle1/card2/script/lry/Log
echo "`date +%T` $lrydate数据下发正确" | tee -a check_dis_$tmpyear$lrydate.log
else
checklogfile 2
#cd /settle1/card2/script/lry/Log
#> check_dis_$tmpyear$lrydate_err.log
echo "`date +%T` $lrydate数据有差异,请核查" | tee -a check_dis_$tmpyear${lrydate}_err.log
fi
}
#检测是否报错
function testthis()
{
if [ $1 -eq 1 ]
then
bakcount=`expr $bakcount - 2`
echo "$bakcount"
else
echo "传参错误"
fi
}
function main()
{
lryinit
lrycheckinput $1
lrycheckdatabak
lrycheckdatabase
#testthis 1
lrycheckdiff
}
main $1
- 写的shell小记(1)
- Spring开发复习小记(1)-实现一个不需要写Web.xml的Web App
- shell小记
- shell 小记
- shell小记
- 简单的shell脚本之date小记
- Shell编程小记 初级(二)
- 从零开始写shell脚本(1)--shell初体验
- [shell]用shell写的tree 命令
- shell写的进度指示
- shell写的日期函数
- shell 写的冒泡排序
- shell写的彩色进度条
- 自己写的最长的shell命令(呵呵)
- shell编程小记
- shell命令使用小记
- shell 博大精深。小记
- linux shell脚本小记
- struct ethhdr、ether_header、iphdr、tcphdr、udphdr
- 动态链接库和静态链接库小小结
- C++图像处理 -- 线性亮度/对比度调整
- typedef struct sockaddr_in
- 用Apache axis开发Web服务
- 写的shell小记(1)
- 定时检查进程的shell脚本
- Mysql 字符集 设置
- 检查字段并排序的shell脚本
- Junit的基本用法 更多选项
- ifreq
- 初识UBUNTU——安装配置
- 从服务器端彻底删除SVN版本库中部分文件夹或文件
- 任务管理器被禁用时的三种恢复方法