shell mysql awk_shell mysql 处理数据小结
shell mysql 处理数据小结,shell中子进行变量的传递看了好久..
学习一下另一种思维方式
[root@ccsafe cc]# cat productinfo.sh
#!/bin/bash
#stat data for check product system#cc@ccsafe.com
#2008-10-15
readonly -a g_DBConf=("-hlocalhost" "-uuser" "-ppwd")
readonly -a g_DBConf_remote=("-hccsafe" "-uuser2" "-ppwd2")
readonly g_resultFile="/usr/local/product_info_svr/dbshell/check_url/stat_result.txt"
readonly g_LogFile="/home/saferoot/cc/productinfo.log"
readonly g_tmp="/tmp/tmpurl"
g_checkday=0
g_checkedday=0
g_productday=0
g_productdomain=0
g_producturls=0
g_urldomain=""
function stat_day_domain_num()
{
cat $g_tmp |awk -F '/' '{print $3}'|sort |uniq -c |sort -nr |head -20|while read LINE
#while read -r LINE
do
g_producturls=$(echo $LINE |awk '{print $1}')
g_urldomain=$(echo $LINE |awk '{print $2}')
echo "$g_producturls $g_urldomain"
local sql="INSERT INTO xlstat.webdomainstat(urldomain,producturls) VALUES('$g_urldomain','$g_producturls');"
#echo $sql
g_sql=`printf "%s%s" "$g_sql" "$sql"`
#sub process!!
echo "$g_sql">/tmp/tmpsql
#echo "$sql" |mysql ${g_DBConf_remote[@]}
done
read g_g_sql
# echo $g_g_sql
echo "$g_g_sql" |mysql ${g_DBConf_remote[@]}
}
function export_day_product_url()
{
(( $# != 1 )) && {
echo "function stat_day_import_num() parameter[$@] error"
return 1;
}
#local -r date=$(date -d"-$n day" +"%Y%m%d")
local -r date=$(date -d"-1 day" +"%Y%m%d")
if [ -f "$g_tmp" ];then
rm -rf $g_tmp
fi
#local -r sql="select page_url from url_src.gougou_problem_$date into outfile '$g_tmp'"
local sql="select page_url from url_src.gougou_problem_$date into outfile '/tmp/tmpurl'"
echo "$sql"
echo "$sql" |mysql ${g_DBConf[@]}
}
function stat_day_product_num()
{
g_productdomain=$(cat $g_tmp |awk -F '/' '{print $3}'|sort |uniq -c |wc -l)
g_checkday=$(tail -1 $g_resultFile |awk '{print $3}')
g_checkedday=$(tail -1 $g_resultFile |awk '{print $4}')
g_productday=$(tail -1 $g_resultFile |awk '{print $5}')
echo "$g_checkday $g_checkedday $g_productday $g_productdomain"
local sql="INSERT INTO xlstat.webproductstat(checkday,checkedday,productday,productdomain) VALUES('$g_checkday','$g_checkedday','$g_productday','$g_productdomain')"
echo "$sql" |mysql ${g_DBConf_remote[@]}
}
function main()
{
local start_t=`date +"%s"`
local end_t=0
echo ""
echo "------------------`date +"[%Y%m%d %T]"`"
echo "`date +"[%Y%m%d %T]"` shell $0 start at.."
local -r n=${1:-1}
export_day_product_url $n
stat_day_product_num
stat_day_domain_num
echo "$(date +"[%Y%m%d %H:%M:%S]") over" >> ${g_LogFile}
wait
end_t=`date +"%s"`
echo "`date +"[%Y%m%d %T]"` shell end. use-time:$(( end_t-start_t ))sec. "
}
main $@
[root@ccsafe cc]#
shell mysql awk_shell mysql 处理数据小结相关推荐
- Spark-SQL从MySQL中加载数据以及将数据写入到mysql中(Spark Shell方式,Spark SQL程序)
1. JDBC Spark SQL可以通过JDBC从关系型数据库中读取数据的方式创建DataFrame,通过对DataFrame一系列的计算后,还可以将数据再写回关系型数据库中. 1.1. 从MySQ ...
- mysql 表损坏_MYSQL数据表损坏的原因分析和修复方法小结(推荐)
1.表损坏的原因分析以下原因是导致mysql 表毁坏的常见原因: 1. 服务器突然断电导致数据文件损坏. 2. 强制关机,没有先关闭mysql 服务. 3. mysqld 进程在写表时被杀掉. 4. ...
- spark mysql 写_Spark-SQL从MySQL中加载数据以及将数据写入到mysql中(Spark Shell方式,Spark SQL程序)...
1. JDBC Spark SQL可以通过JDBC从关系型数据库中读取数据的方式创建DataFrame,通过对DataFrame一系列的计算后,还可以将数据再写回关系型数据库中. 1.1. 从MySQ ...
- shell脚本获取mysql插入数据自增长id的值
shell脚本获取mysql插入数据自增长id的值 在shell脚本中我们可以通过last_insert_id()获取id值,但是,需要注意的是,该函数必须在执行插入操作的sql语句之后,立即调用,否 ...
- shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)
shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)Shell脚本与MySQL数据库交互(增删改查)# 环境准备:安装mariadb 数据库 [root ...
- Shell脚本调用mysql语句
方法一: mysql -hhostname -Pport -uusername -ppassword -e 相关mysql的sql语句. 不用在mysql的提示符下运行mysql,即可以在shell中 ...
- mysql同步binlog_利用MySQL的Binlog实现数据同步与订阅(下)
利用MySQL的Binlog实现数据同步与订阅(下)blog.yuanpei.me 终于到这个系列的最后一篇,在前两篇博客中,我们分别了介绍了Binlog的概念和事件总线(EventBus)的实现, ...
- mysql命令导入导出数据_mysql命令行导入和导出数据
MySQL中导出CSV格式数据的SQL语句样本如下: select * from test_info into outfile '/tmp/test.csv' fields terminated by ...
- 23 | MySQL是怎么保证数据不丢的?
今天这篇文章,我会继续和你介绍在业务高峰期临时提升性能的方法.从文章标题"MySQL是怎么保证数据不丢的?",你就可以看出来,今天我和你介绍的方法,跟数据的可靠性有关. 在专栏前面 ...
最新文章
- 记一次MongoDB性能问题(从MySQL迁移到MongoDB)
- 真相了!敲代码时,程序员戴耳机究竟在听什么?
- Redis实践操作之—— keyspace notification(键空间通知)
- HTML5新增视频标签(HTML5)
- 2017.3.16 下午
- xml简单理解,xml增删改操作,仅作笔记,不作为学习借鉴
- 解决Windows 11 NumLock键盘数字灯不亮的问题
- html css动漫素材,66种特效的CSS3动画库animate.css
- 【Unity好用插件】PSD文件转UI插件——Psd 2 Unity uGUI Pro ★★★完整过程
- java 系统临时目录_在java中创建临时文件夹
- “没有银弹”的由来!
- Oracle 常用 语句
- 优化易语言程序占用内存
- Bluetooth---蓝牙
- vs 项目重新生成无反应,仍然执行之前原先代码
- 5/17/2015 今週日本語勉強の纏め
- 2022 最新 Android 基础教程,从开发入门到项目实战【b站动脑学院】学习笔记——实战三:购物车
- 【XJTUSE 计算机组成与结构笔记】第十三章 精简指令集计算机
- KDD CUP99数据集预处理(Python实现)
- find a way to escape题解
热门文章
- java byte缓存_java-如何使用带byte []键的番石榴缓存?
- getallheaders函数在服务器报500错误_C语言服务器编程必备常识
- css 3d魔方源代码,CSS3 3D环境实现立体 魔方效果代码(示例代码)
- linux连接池等待时间,LINUX系统下解决time_wait 连接数过多问题
- 个人站立会议(11月16日)
- Go语言内置的基础类型
- Centos6.9下RocketMQ3.4.6高可用集群部署记录(双主双从+Nameserver+Console)
- Canvas实战---模仿GOOGLE浮动小球效果
- SilverLight明日起通过微软更新推送
- 澳大利亚新南威尔士大学 巩东博士 招收若干名计算机视觉和机器学习方向PhD...