2013年10月的文章

Linux(ubuntu)下iostat的安装和系统性能监控

linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令 来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。

iostat 由 Red Hat Enterprise Linux AS 发布。同时 iostat 也是 Sysstat 的一部分。所以我们安装要安装sysstat

# 首先安装 sysstat 包

sudo apt-get install sysstat

1. 基本使用

iostat [-c|-d] [-k] [-t] [间隔描述] [检测次数]

» 阅读全文

关键词: 性能监控 , iostat , linux

Linux系统监控之ssh登陆自动139邮件短信提醒

linux系统监控之ssh登陆自动139邮件短信提醒

Linux系统监控非常重要,互联网的网络的安全是一个非常重要的问题,很多 时候,我们会出于安全考虑,希望服务器在有用户通过ssh登陆时能自动向管理员发送一条邮件,通知登陆用户名和IP。这是一种不错的安全防范机制,它可以 让管理员及时发现异常登陆,并在造成更大危害前(比如获得更高权限)阻止恶意访问。

这里要说明的是,包子使用139邮箱,因为,大家知道这个139邮箱邮件是有移动的短信提醒的。这里有个缺点就是频繁登录的话不断发送短信,这个可以做个一个IP列表即可。

这个脚本对于ssh安全监控非常有用,系统非法登陆都可以时时了解情况,及时保护服务器安全

邮件发送我们使用:sendemail-v1.56 详细可以看:http://www.jincon.com/archives/66/

» 阅读全文

关键词: 系统监控 , linux , sendemail

JS漂浮广告代码,慢慢漂移的广告JS代码

JS漂浮广告代码,慢慢漂移的广告js代码,可以漂浮到任何位置,哈哈。。。直接贴代码,很简单。

» 阅读全文

关键词: js代码 , 广告代码

使用SendEmail发送邮件,附SendEmail使用教程

亲爱的小伙伴们,还在为Linux下没有便捷的邮件程序苦恼,还在为复杂的邮件服务器架设而Google N多网页? 对于小型,便捷的Linux下命令行邮件程序,sendemail使得这一切变得轻松可行。一起来看看吧。

总的来说sendEmail简单,轻量级,命令行,可伸缩,跨平台。  本人使用感觉非常好,特此推荐给大家。

安装方式:


tar –zxvf sendEmail-v1.55.tar.gz
cd sendEmail-v1.55
cp sendEmail /usr/local/bin
chmod 0755 /usr/local/bin/sendEmail

使用测试

» 阅读全文

关键词: 邮件发送 , sendemail

MySQL中UNION和UNION ALL的使用效率等问题

mysql中UNION和UNION ALL的使用效率等问题

在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。

MySQL中的UNION

UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如:

select * from gc_dfys union select * from ls_jg_dfys

这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。

MySQL中的UNION ALL

而UNION ALL只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。

从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION ALL,如下:

select * from gc_dfys union all select * from ls_jg_dfys

使用Union,则所有返回的行都是唯一的,如同您已经对整个结果集合使用了DISTINCT

使用Union all,则不会排重,返回所有的行

如果您想使用ORDER BY或LIMIT子句来对全部UNION结果进行分类或限制,则应对单个地SELECT语句加圆括号,并把ORDER BY或LIMIT放到最后一个的后面:

(SELECT a FROM tbl_name WHERE a=10 AND B=1)

UNION

(SELECT a FROM tbl_name WHERE a=11 AND B=2)

ORDER BY a LIMIT 10;

麻烦一点也可以这么干:

select userid from (

select userid from testa union all select userid from testb) t

order by userid limit 0,1;

如果你还想group by,而且还有条件,那么:

select userid from (select userid from testa union all select userid from testb) t group by userid having count(userid) = 2;

注意:在union的括号后面必须有个别名,否则会报错

当然了,如果当union的几个表的数据量很大时,建议还是采用先导出文本,然后用脚本来执行

因为纯粹用sql,效率会比较低,而且它会写临时文件,如果你的磁盘空间不够大,就有可能会出错

Error writing file '/tmp/MYLsivgK' (Errcode: 28)

关键词: mysql

Linux系统大文件或目录复制时剩余时间和大小shell统计脚本

大家都是知道linuxcp复制是没有显示更多详细信息的,所有很多的时候我们不知道还剩余多少时间,以及还剩余多少要复制的
昨天在机房等待复制数据(332G)时,实在等待的无聊;主要用于当开始一个复制操作时,如果量比较大,我们又必须等待其完成,每次通过du查看的数据,自己要算一下才知道大概有多久;
这个很麻烦,于是想,这应该是个很简单的脚本;
先说操作前提,首先得有正在复制的东东,注意是正在复制的,文件或目录皆可,
然后要给脚本一个间隔时间,脚本通过间隔时间来计算平均每秒复制速度,然后还要告诉脚本源文件和目标文件,当然目录也可以。
./script.sh 10 /nfs/openSUSE-11.2-DVD-x86_64.iso /opt/os/openSUSE-11.2-DVD-x86_64.iso
Speed: 13.20MB/s; Done: 0.12GB; 121.00MB     # 每秒平均速度,完成的GB多少,MB多少
Time: 5.45 sec; Have: 4.22GB; 4316.41MB      # 预计还需要多少分钟,还有多少没复制,其大小是多少GB,MB

代码如下:

» 阅读全文

关键词: shel脚本 , cp复制 , linux

mysql错误:Warning: #1366 Incorrect string value:解决方法

mysql错误:Warning: #1366 Incorrect string value:解决方法

mysql在操作的时候会出现一些错误,譬如:某日同事就出现这样的错误。

| Warning | 1366 | Incorrect string value: 'xB5xDAxB6xFExBDxEC...' for column '刊名' at row 1444 |

这其实编码问题,偶遇到的同事是吧编码设置GB2312导致的,当涉及到一些特殊字符的时候,就会出现截断的时候,就会报错,转变为“  ?  ”进行显示。

mysql错误:Warning: #1366 Incorrect string value:解决方法:

很简单,将原来的编码gb2312改为:gbk编码,或者改为utf8编码。

附上:GB2312和GBK编码区别。

GB2312是中国规定的汉字编码,也可以说是简体中文的字符集编码;GBK 是 GB2312的扩展 ,除了兼容GB2312外,它还能显示繁体中文,还有日文的假名

关键词: mysql错误

ubuntu server设置时区和同步更新时间的方法

ubuntu server设置时区和同步更新时间的方法

服务器时间长了,可能出现服务器时间不准的问题,所以要同步更新下时间,我使用的是ubuntu server 12.04版本,方法如下:

data -R   
结果时区是:+0000,如果时区正确可以忽略一二两步。
我需要的是东八区,这儿显示不是,所以需要设置一个时区

一、运行tzselect
sudo tzselect

» 阅读全文

关键词: linux时区 , ubuntu

Total: 20123Next ›