- 浏览: 276359 次
- 性别:
- 来自: 杭州
最新评论
-
jnjeC:
第一步:打开日志文件 less sigma.log第二步 ...
linux less从后向前查看日志信息 -
jnjeC:
mac 里面直接按b或f就可以,好像按ctrl没反应
linux less从后向前查看日志信息 -
wiselyman:
写的太好了
从100PV到1亿级PV网站架构演变 -
cfyme:
fu222cs98 写道曹教练最后拿了什么大奖了没啥大奖啊
2015桐庐年会--奔跑吧,骚年 -
fu222cs98:
曹教练最后拿了什么大奖了
2015桐庐年会--奔跑吧,骚年
文章列表
查询mysql 锁表
- 博客分类:
- mysql
查询mysql 哪些表正在被锁状态
show OPEN TABLES where In_use > 0;
show processlist;
show full processlist;
kill id //杀掉被锁的表
sudo apt-get update
sudo apt-get install lrzsz
sudo apt-get install maven2
sudo apt-get install subversion
sudo apt-get install nginx
sudo apt-get install openjdk-7-jdk
sudo apt-get install sun-java6-jdk
sudo update-alternatives --config java,然后从菜单里选择java-6-sun就可以了。
“青山遮不住,毕竟东流去”,到了年底的最后一天,忽感到时间如此之快,一瞬间,大脑一片空白,犹如歌词中描述的那样,"轻飘飘的旧时光就这么溜走,转头回去看看时已匆匆数年”,亦或是“流水它带走光阴的故 ...
linux定位异常前后日志信息
- 博客分类:
- linux
线上出现异常,开发人员要快速定位异常的原因,可以采用如下方案。
第一步:定位出现异常的行, java 的异常,通常包含 Exception 字样
grep -n "Java heap space" master.log.2014-02-27
第二步 : 截取 Exception 所在行的前后各 50 行。
比如我们想关注 177840 行的Exception , 可以用如下指令 :
head -177890 gandalf.log| tail -50
linux vi 超级常用的命令:
I、a、o切换进入Insert mode
Ctrl+B:屏幕往后移动一页。[常用]
Ctrl+F:屏幕往前移动一页。[常用]
x:每按一次删除光标所在位置的后面一个字符
dd:删除光标所在行
yy:复制光标所在行
p:粘贴
u:撤销
ctrl+r 恢复
工作上有这样一个需求:
服务端每天产生的埋点日志比较多>200万行,凌晨2点将这个日志的数据入库到数据库,便于BI分析。
最初我的思路是:写一个shell脚本,将入库的逻辑放入shell脚本中,再将这个shell脚本放入到linux服务器crontab任务中。
说起来简单,但在编写的过程中遇到了问题,主要是日志量大,入库的速度很慢,最初的实现是
cat statlog.log | while read line 这种遍历日志,按行读取来入库,速度超慢。
经优化,采用awk的方式来做:
1,代码如下:
BEGIN{
...
在上一个版本 统计push点击次数的shell脚本中,有一个问题,就是没有进行去重,比如同一条push被用户点击了多次,点击次数都在加加,显然数量不准确,运营人员需要的是有多少个设备点击打开了push的次数。
于是版本升级了下:
关键代码如下:
awk -F "," '!a[$2,$3,$4,$5]++' $masterPath/push_feed_back_log.log.$date |awk -F "," '{a[$2" "$5]+=1}END{for(i in a) pr ...
在工作中,运营人员需要统计到push被点击的次数,客户端当push被点击打开的时候,服务端会记录到日志文件push_feed_back_log.log中,格式如下:
2015-04-13 00:05:51,android,queryItemList,81a9831f09baf5f876bf3244db6f2392,pinpait_2862
2015-04-13 00:06:21,android,queryItemList,1e570c6400ef8e65ad07d5aa865c7779,pinpait_2862
2015-04-13 00:06:30, ...
push在发送的时候,有些emoji表情添加不进去,原因是:一个普通中文字符存入数据库时占用3个字节,某些特殊表情会自动占用4个字节,mysql的utf8一个字符最多3字节,而如果要修改为支持4个字节的需要修改数据库配置编码为utf8mb4,但是需要停机重启数据库,由于不能影响线上核心业务,停机成本有点大,所以最终放弃了修改编码的方案。
但是,为了满足运营人员需要发送带有特殊符号的push表情,晚上睡觉想了想一些方案,都是以失败告终,第二天想到了一个比较挫的方案,但的确是实用的,因为那些特殊
String s = "\\";
s= s.replaceAll("\\\\","\\\\\\\\");
或者
s= s.replaceAll("(\\\\)","$1$1");
String old = getHtmlCode(urlString);
old = old.replaceAll("(?<=\\>)(?:\\s*\r?\n?)(?=\\<)","");
//去掉空格 ,标签内的空格不用去掉 例如<input type='text' />
//目的是去掉标签与标签自己的空格和回车
//正则采用环视
//空格的左边是>
//空格的右边是<
环视正则的应用:
String regex = "(?< ...
查询一级类目下 2级 3级 4级 对应的数量
SELECT temp.cname,temp.rootcid,
(SELECT COUNT(1) FROM show_tb_category t1 WHERE t1.flag=2 AND t1.rootcid=temp.rootcid)category2,
(SELECT COUNT(1) FROM show_tb_category t1 WHERE t1.flag=3 AND t1.rootcid=temp.rootcid)category3,
(SELECT COUNT(1) FROM show_tb_category t1 WHE ...
com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in sqlmaps/sql-t.xml. --- The error occurred while applying a result map. --- Check the Task.result-task-obj. --- The error happened while setting a property on the result object. --- Cause: net.sf.cglib.beans.BulkBean ...
Date date = new Date();
DButil1 db = new DButil1();
System.out.println(db.getConnection());
String sql ="insert into user_show(user_id,item_id,title,created,updated,approved_status,prize_status,flower_sum, like_sum,put_top) values(?,?,?,?,?,?,?,?,?,?)";
db.update(sql, "1000 ...
linux拷贝文件删除文件命令
- 博客分类:
- linux
unzip -o -d /home/www/deploy/showSAN head.zip
sudo cp -avpf head/* headpic
rm -rf 注意要小心删除