一个查询指定错误记录数据表错误记录条数的shell脚本
#!/bin/bash
#author:skycheng #parameters
db_user=dbuser
db_pass=dbpass
db_host=xxx.xxx.xxx.xxx
database=database #get current date string
datestr=`date +'%Y-%m-%d'`
start_time=`date +'%Y-%m-%d %H:%M:%S'`
table_name='inf_log_err_'`date +'%Y%m%d'` #get logfile name
logfile='/var/log/fs/get_err_record_'$datestr'.log'
if [ ! -f $logfile ]
then
sudo touch $logfile
sudo chmod $logfile
fi
tmplogfile='/var/log/fs/get_err_record_tmp.log'
if [ ! -f $tmplogfile ]
then
sudo touch $tmplogfile
sudo chmod $tmplogfile
fi
echo starttime:$start_time>>$logfile do_get_record()
{
query_sql="SELECT created,epid,sub_result,diffnum_sub,client_ip FROM "$table_name" WHERE created BETWEEN DATE_ADD(now() ,INTERVAL -10 MINUTE) AND DATE_ADD(now() ,INTERVAL 0 MINUTE) ORDER BY created DESC"
mysql -u$db_user -h$db_host -p$db_pass $database -e "$query_sql"|sed 1d>$tmplogfile
if [ $? -eq ]
then
records_counts=`cat $tmplogfile|wc -l`
if [ $records_counts -ge ]
then
rdate=`sed -n ''p $tmplogfile|awk -F " " '{print $1}'`
rtime=`sed -n ''p $tmplogfile|awk -F " " '{print $2}'`
epid=`sed -n ''p $tmplogfile|awk -F " " '{print $3}'`
sub_result=`sed -n ''p $tmplogfile|awk -F " " '{print $4}'`
diffnum_sub=`sed -n ''p $tmplogfile|awk -F " " '{print $5}'`
client_ip=`sed -n ''p $tmplogfile|awk -F " " '{print $6}'`
echo $records_counts'|rdate='$rdate $rtime 'epid='$epid 'sub_result='$sub_result' diffnum_sub='$diffnu m_sub' client_ip='$client_ip
else
echo $records_counts
fi
else
exit
fi
}
do_get_record
一个查询指定错误记录数据表错误记录条数的shell脚本的更多相关文章
- 使用一个T-SQL语句批量查询数据表占用空间及其行数
原文:使用一个T-SQL语句批量查询数据表占用空间及其行数 要找到数据库中数据表占用的空间和存在的行数.可以使用sp_spaceused搭配数据表的名称.就可以产生该表耗用的空间和现有行数. 如: U ...
- android 一个SQLite数据库多个数据表的基本使用框架 (带demo)
android 一个SQLite数据库多个数据表(带demo) 前言 demo演示 一.搭建 二.建立实体类 三.建立数据库操作类 ...
- 随机获取Mysql数据表的一条或多条记录
随机获得Mysql数据表的一条或多条记录有很多方法,下面我就以users(userId,userName,password......)表(有一百多万条记录)为例,对比讲解下几个方法效率问题: sel ...
- Oracle数据库的闪回操作(查询指定时间的数据、恢复数据)
通过DELETE删除数据后相当于放入回收站,一般情况下可以找回:通过UPDATE更新数据后数据库也会保留数据快照.闪回就是恢复指定时间的数据快照以达到恢复数据的目的.根据步骤一查询出数据快照,恢复数据 ...
- 用navicat手动删除了数据表的记录,再次写入的时候,怎么让id重新从1开始?
问:用navicat手动删除了mariadb数据表的记录,再次写入的时候,自增id会继续,不会从1开始. 比如,原来有10条记录,全部清空,再次写入数据,id会从11开始,怎么让他重新从1开始呢? 重 ...
- SpringBoot集成mybatis,同时读取一个数据库中多个数据表
SpringBoot集成mybatis,同时读取一个数据库中多个数据表: application.properties: mybatis.config-location=classpath:mybat ...
- 数据表中记录明明有,session.get(类.class, id);返回null
出现null的处理思路首先检查数据库中是否真的有这个记录 确实存在的,用接口查一下最大值,也是存在的,数据库连接正常 写sql也可以查得到 然而诡异的事情出现了 难道是一直在用的dao代码出了问题? ...
- 丢掉DDL,我用这招3分钟清空 MySQL 9亿记录数据表
摘要:最近由于福建开机广告生产环境的广告日志备份表主键(int类型)达到上限(21亿多),不能再写入数据,需要重新清空下该表并将主键重置,但由于表里有8亿多记录的数据量,使用重置命令及DDL命令执行地 ...
- Sqlserver__数据表排序记录和界面显示排序记录不一致的问题
背景: 数据表中有编号为1-20的20条记录,有一个排序字段OrderIndex, 其中1/3为0,1/3为1,1/3为2 现象: 每次在sqlserver执行OrderIndex ...
随机推荐
- 《机器学习实战》PCA降维
注释:由于各方面原因,理论部分不做介绍,网上很多自行百度吧! pca.py import numpy as np import matplotlib.pyplot as plt import math ...
- 在Linux命令行执行python命令
在Linux的命令行执行python的某些命令: [root@centos7 ~]# echo "import sys ;print(sys.path)"|python3.6 [' ...
- 设置nginx中文件上传的大小限制度
通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题: 用nginx来做webserver的时,上传大文件时需要特别注意client_max_body_s ...
- SAP生产机该不该开放Debuger权限(转)
前段时间公司定制系统在调用SAP RFC接口的时候报错了,看错误消息一时半会儿也不知道是哪里参数数据错误,就想着进到SAP系统里面对这个接口做远程Debuger,跟踪一下参数变量的变化,结果发现根本就 ...
- 36.scrapy框架采集全球玻璃网数据
1.采集目标地址 https://www.glass.cn/gongying/sellindex.aspx 网站比较简单,没什么大的需要注意的问题.2.通过分析测试 https://www.glass ...
- Swoole 异步mysql使用
<?php class mysql { private $param; public $db; public function __construct() { $this->db = ne ...
- Dubbo 暴露服务
1. 引入dubbo依赖 dubbo 依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId&g ...
- Lua的特点
特点: Lua是一个脚本语言.是目前速度最快的脚本语言.它能与C/C++代码互相调用. Lua脚本是跨平台的,是要使用Lua基本语法和标准库写的脚本,都是可以跨平台的(用了扩展库则不一定). Lua源 ...
- [转] golang socket
server.go package main import ( "net" "fmt" "io/ioutil" "time&quo ...
- delphi Berlin Could not load SSL library.
delphi Berlin Could not load SSL library. TIdSSLIOHandlerSocketOpenSSL 解决办法:下载合适的版本文件libssl32.dll Id ...