存档

文章标签 ‘shellscript’

shell求文件夹中某些文件的大小

2012年12月2日 没有评论

工作中碰到需要shell求文件夹中某些文件的大小,不是所有文件的

所以du -sh用不上

这里简单点就一行搞定:

sum=0;for i in `ls -l *.log|awk ‘{print $5}’`;do sum=`expr $sum + $i`;done;echo `expr $sum \/ 1024 \/ 1024`

这里是所有后缀为.log的文件,ls -l之后第五列是大小字节数,expr出来后成M字节为单位.

分类: shellscript 标签:

shell面试题一例-求文本每行数字的和

2012年8月24日 1 条评论

有次去面试,遇到一个问题,一个文本多列,某列是数字,求这些数字的和,要求一行命令搞定。

文本类似于:
cat num.txt

阅读全文…

分类: shellscript 标签: , , ,

自己写的mysql检测脚本

2012年8月21日 没有评论

自己开博了,把以前的linuxtone上发表的几篇帖子转到博客上:

自己写的mysql检测脚本
包括性能(TPS,从启动以来的平均值)和同步状态检测(sql线程、IO线程状态、second_behind_master,error_message显示)

这个是由于工作中的mysql服务器较多,需要经常进行检查,一台台手工检查十分玛法,所以这么写了个检测的shellscript脚本

使用awk,mysqladmin,使用前请安装mysql-client及有replication-client权限的账号去登陆mysql来检测同步状态,这里都使用同一个账号检测,但是要查看mysql的运行状态,倒是可以不需要什么权限,能登陆mysql就可以获取到,所以这里只需要所有mysql服务器都建立一个有replication-client的权限的账号就可以了。

此脚本适用于批量mysql检测,在屏幕显示各个mysql实例的运行状态。
希望大家指点

这个是批量检测mysql运行状态及同步状态的脚本

阅读全文…

分类: mysql 标签: , ,

mysql分库分表的自动备份脚本

2012年8月17日 没有评论

线上经常使用mysql,数据需要备份,但是人工去备份明显不合适,所以自己写了个自动备份数据库中所有添加的数据库脚本

使用了一段时间之后,发现由于单库过大,有时候需要做单表数据恢复的时候要消耗大量的时间2小时+,所以后来做了个按照每个表分成数据和表结构备份的功能,同时使用多进程运行mysqldump来备份,提高了备份的速度。

同时,不用指定固定的那几个库,自动全部备份所有用户添加的数据库,减少了以前由于忘记添加新加数据库的本分导致的后来很久之后需要还原数据而找不到备份文件的痛苦。

另外出于数据安全性考虑,所有备份文件按照库来打包加密压缩,按库名为文件夹,日期后缀为名字来存储。本地存储一周数据备份,自动在ftp服务器上创建备份文件夹,并将备份数据上传到异地服务器上。

需要的工具:ncftp,rar,shellscript,awk等

阅读全文…

shell脚本调试技术

2012年8月10日 没有评论

使用trap命令

trap命令用于捕获指定的信号并执行预定义的命令。
其基本的语法是:
trap ‘command’ signal

使用shell的执行选项

-n 只读取shell脚本,但不实际执行
-x 进入跟踪方式,显示所执行的每一条命令
-c “string” 从strings中读取命令

阅读全文…

mysql调优脚本tuning-primer.sh修改版

2012年8月1日 没有评论

原版的mysql调优脚本tuning-primer.sh,大家都懂得,只支持本地mysql
使用修改版的脚本可以检测远程mysql

mysql-tuning.jpg

darkz修改版-tuning-primer

下载后记得chmod +x

这个脚本的原始名称是mysql-tuning-primer.sh

原帖地址:http://bbs.linuxtone.org/thread-17316-1-1.html

分类: mysql 标签: ,

另类同步时间一法

2012年6月28日 没有评论

背景:由于服务器经常遭受udp洪水攻击,公司又没有购买硬件防火墙等设备,所以让机房直接全部屏蔽udp协议,这样,导致了通过udp123端口的时间服务失效。但是由于没有时间服务,机房间的服务器日期日积月累时间误差比较大,导致后期查证某些数据的时候有些难度。

解决时间同步问题迫在眉睫。但是又没有现成的走tcp协议的同步时间的linux下的方案,所以走了个曲线救国:

阅读全文…