Mysql Binlog 定期清除脚本
[
2010/09/05 13:24 | by 张明辉 ]
2010/09/05 13:24 | by 张明辉 ]
清除指定的 binlog。
PURGE MASTER LOGS TO ‘mysql-bin.0010′;
该命令将清除 mysql-bin.0010 文件。
3、清除指定日期前的 binlog。
PURGE MASTER LOGS BEFORE ‘2010-08-01 00:00:00′;
#清除2010年8月的binlog
在 contab 中设置:下面语句定期删除7天前的 binlog
0 1 * * * `mysql -uroot -e ‘PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 7 DAY);
PURGE MASTER LOGS TO ‘mysql-bin.0010′;
该命令将清除 mysql-bin.0010 文件。
3、清除指定日期前的 binlog。
PURGE MASTER LOGS BEFORE ‘2010-08-01 00:00:00′;
#清除2010年8月的binlog
在 contab 中设置:下面语句定期删除7天前的 binlog
0 1 * * * `mysql -uroot -e ‘PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 7 DAY);
今天突然接到短信报警,提示我的备份没有成功.....
怎么可能阿!!!!
登上服务器一看,备份系统创建LVM 快照时出现了错误,提示:
于是查看问题:
[root@backup /]# vdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name VolGroup01
PV Size 558.27 GB / not usable 24.40 MB
......
......
Free PE 0
Allocated PE 17864
PV UUID vZilnx-xc6i-0zuE-O5Uf-bFYh-Tgnj-HtpVqU
没空间了?
[root@backup /]# vgs -o +vg_free_count,vg_extent_count
VG #PV #LV #SN Attr VSize VFree Free #Ext
VolGroup01 1 3 0 wz--n- 558.25G 0 0 17864
郁闷?
注意:我的LVM上是通过建立LVM快照备份的
所以出现上面的错误(Insufficient Free Extents for a Logical Volume)是正常的.
问题点找到了,剩下的就是添加硬盘了
* 使用一个物理磁盘创建一个分区。建议将分区类型改为 0x8e(Linux LVM)使用 pvcreate 对物理磁盘进行初始化:pvcreate /dev/hda8。
* 然后,使用 vgextend 将它添加到现有的 VG 中:vgextend VolGroup01 /dev/hda8。
Note:
因为我只想增加VG的大小,以便能使用快照.至于PV的扩充,不再我的考虑范围内.
参考:
扩展PV,可以使用 lvextend 扩展逻辑卷了:lvextend -L 8G /dev/VolGroup01/data。这个命令将 /dev/VolGroup01/data LV 的大小扩展到 8GB。
lvextend 有一些有用的参数:
* 如果希望让 LV 增加 5GB,那么可以使用 -L +5G。
* 可以指定扩展部分的位置(也就是,用哪些 PV 提供新的空间);只需将希望使用的 PV 附加在命令后面。
* 还可以以 PE 为单位指定绝对/相对扩展大
怎么可能阿!!!!登上服务器一看,备份系统创建LVM 快照时出现了错误,提示:
引用
Insufficient Free Extents for a Logical Volume
于是查看问题:
[root@backup /]# vdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name VolGroup01
PV Size 558.27 GB / not usable 24.40 MB
......
......
Free PE 0
Allocated PE 17864
PV UUID vZilnx-xc6i-0zuE-O5Uf-bFYh-Tgnj-HtpVqU
没空间了?
[root@backup /]# vgs -o +vg_free_count,vg_extent_count
VG #PV #LV #SN Attr VSize VFree Free #Ext
VolGroup01 1 3 0 wz--n- 558.25G 0 0 17864
郁闷?
注意:我的LVM上是通过建立LVM快照备份的
所以出现上面的错误(Insufficient Free Extents for a Logical Volume)是正常的.
问题点找到了,剩下的就是添加硬盘了
* 使用一个物理磁盘创建一个分区。建议将分区类型改为 0x8e(Linux LVM)使用 pvcreate 对物理磁盘进行初始化:pvcreate /dev/hda8。
* 然后,使用 vgextend 将它添加到现有的 VG 中:vgextend VolGroup01 /dev/hda8。
引用
Note:
因为我只想增加VG的大小,以便能使用快照.至于PV的扩充,不再我的考虑范围内.
参考:
扩展PV,可以使用 lvextend 扩展逻辑卷了:lvextend -L 8G /dev/VolGroup01/data。这个命令将 /dev/VolGroup01/data LV 的大小扩展到 8GB。
lvextend 有一些有用的参数:
* 如果希望让 LV 增加 5GB,那么可以使用 -L +5G。
* 可以指定扩展部分的位置(也就是,用哪些 PV 提供新的空间);只需将希望使用的 PV 附加在命令后面。
* 还可以以 PE 为单位指定绝对/相对扩展大
linux sort 使用
[
2010/07/16 17:54 | by 张明辉 ]
2010/07/16 17:54 | by 张明辉 ]
最近使用linux shell 处理文件.这里介绍两个命令:sotr和uniq。
简单举例:
1: 删除交集,不同的部分放到一个新文件中。
cat list.txt list.txt.old | sort | uniq -u > list.txt.new
2: 取出两个文件的并集,重复的行只保留一份.
cat file1 file2 | sort | uniq > file3
3: 取出两个文件的交集,只留下同时存在于两个文件中的文件.
cat file1 file2 | sort | uniq -d >file3
简单举例:
1: 删除交集,不同的部分放到一个新文件中。
cat list.txt list.txt.old | sort | uniq -u > list.txt.new
2: 取出两个文件的并集,重复的行只保留一份.
cat file1 file2 | sort | uniq > file3
3: 取出两个文件的交集,只留下同时存在于两个文件中的文件.
cat file1 file2 | sort | uniq -d >file3
apache-mod_layout的使用 [原创]
[
2010/06/17 17:07 | by 张明辉 ]
2010/06/17 17:07 | by 张明辉 ]
什么是SSI ?
SSI是嵌入HTML页面中的指令,在页面被提供时由服务器进行运算,以对现有HTML页面增加动态生成的内容,而无须通过CGI程序提供其整个页面,或者使用其他动态技术。
至于什么时候应当用SSI ,而什么时候应当用某些程序生成整个页面,取决于页面中有多少内容是静态的,又有多少内容需要在每次页面被提供时重新计算。SSI是一种增加小段动态信息的好方法,比如当前时间。如果你的页面大部分内容是在被提供时动态生成的,那就要另找方案了.
以上是apache 官方的解释,而在apache 里面的实现就是通过mod_include模块实现.要使服务器允许SSI,必须在httpd.conf或.htaccess文件中有如下配置:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml ####声明那些文件后缀使用ssi
Options +Includes ####启用ssi指令
首先我们分析下ssi原理和设置:
1:全文式的搜索文件内容来寻找源码的Include标签,消耗大量cpu资源
2:而大量的html文件是不经常更改的,所以无法随意的修改文件后缀(shml),尽管我可以更改如下:
AddType text/html .shtml html
AddOutputFilter INCLUDES .shtml html
但是我其他没有include标签的html似乎很无辜!
3:通过设置"XBitHack on“似乎能解决一些问题,但也仅仅是杯水车薪。
当然ssi对系统性能的影响完全大于我们对他的需求
今天的web不是几年前的web那么简单,不是几个简单的html就能搞定的事,大量内容的发布似拖动了整个页面的更新.往往这些更新只是局部的,这样的开销开销似乎很不合算.SSi就是满足了我们这点.
那有没有更简单的方式实现服务器端包含呢?
答案是有的!
今天我们介绍通过apache的第三方模块实现对现有HTML文档增加动态内容的方法
mod_layout
mod_layout(http://tangent.org/362/mod_layout.html)是一个Apache模块,它支持html网页内容自动插入来自其他URL或者文件输出的内容来子作为指定网页的页眉和页脚。目前支持mod_perl,PHP 和 Apache JServ.和几乎任何类型的处理程序。
据我了解sina就是使用mod_layout!
[root@node2 extra]# curl --head www.sina.com.cn
HTTP/1.0 200 OK
Date: Thu, 17 Jun 2010 08:22:02 GMT
Server: Apache/2.0.54 (Unix)
Last-Modified: Thu, 17 Jun 2010 08:21:00 GMT
Accept-Ranges: bytes
X-Powered-By: mod_xlayout_jh/0.0.1vhs.markIII.remix
Cache-Control: max-age=60
Expires: Thu, 17 Jun 2010 08:23:02 GMT
Vary: Accept-Encoding
X-UA-Compatible: IE=EmulateIE7
Content-Type: text/html
Age: 48
Content-Length: 555586
X-Cache: HIT from sh201-20.sina.com.cn
Connection: close
[root@node2 extra]# curl --head http://sh.house.sina.com.cn/
HTTP/1.1 200 OK
Date: Thu, 17 Jun 2010 08:29:36 GMT
Server: Apache/2.2.6 (Unix)
Last-Modified: Thu, 17 Jun 2010 08:18:35 GMT
Accept-Ranges: bytes
Cache-Control: max-age=1800
Expires: Thu, 17 Jun 2010 08:59:36 GMT
X-Powered-By: ModLayout/5.1
Vary: Accept-Encoding
Connection: close
Content-Type: text/html
SSI是嵌入HTML页面中的指令,在页面被提供时由服务器进行运算,以对现有HTML页面增加动态生成的内容,而无须通过CGI程序提供其整个页面,或者使用其他动态技术。
至于什么时候应当用SSI ,而什么时候应当用某些程序生成整个页面,取决于页面中有多少内容是静态的,又有多少内容需要在每次页面被提供时重新计算。SSI是一种增加小段动态信息的好方法,比如当前时间。如果你的页面大部分内容是在被提供时动态生成的,那就要另找方案了.
以上是apache 官方的解释,而在apache 里面的实现就是通过mod_include模块实现.要使服务器允许SSI,必须在httpd.conf或.htaccess文件中有如下配置:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml ####声明那些文件后缀使用ssi
Options +Includes ####启用ssi指令
首先我们分析下ssi原理和设置:
1:全文式的搜索文件内容来寻找源码的Include标签,消耗大量cpu资源
2:而大量的html文件是不经常更改的,所以无法随意的修改文件后缀(shml),尽管我可以更改如下:
AddType text/html .shtml html
AddOutputFilter INCLUDES .shtml html
但是我其他没有include标签的html似乎很无辜!
3:通过设置"XBitHack on“似乎能解决一些问题,但也仅仅是杯水车薪。
当然ssi对系统性能的影响完全大于我们对他的需求
今天的web不是几年前的web那么简单,不是几个简单的html就能搞定的事,大量内容的发布似拖动了整个页面的更新.往往这些更新只是局部的,这样的开销开销似乎很不合算.SSi就是满足了我们这点.
那有没有更简单的方式实现服务器端包含呢?
答案是有的!
今天我们介绍通过apache的第三方模块实现对现有HTML文档增加动态内容的方法
mod_layout
mod_layout(http://tangent.org/362/mod_layout.html)是一个Apache模块,它支持html网页内容自动插入来自其他URL或者文件输出的内容来子作为指定网页的页眉和页脚。目前支持mod_perl,PHP 和 Apache JServ.和几乎任何类型的处理程序。
据我了解sina就是使用mod_layout!
[root@node2 extra]# curl --head www.sina.com.cn
HTTP/1.0 200 OK
Date: Thu, 17 Jun 2010 08:22:02 GMT
Server: Apache/2.0.54 (Unix)
Last-Modified: Thu, 17 Jun 2010 08:21:00 GMT
Accept-Ranges: bytes
X-Powered-By: mod_xlayout_jh/0.0.1vhs.markIII.remix
Cache-Control: max-age=60
Expires: Thu, 17 Jun 2010 08:23:02 GMT
Vary: Accept-Encoding
X-UA-Compatible: IE=EmulateIE7
Content-Type: text/html
Age: 48
Content-Length: 555586
X-Cache: HIT from sh201-20.sina.com.cn
Connection: close
[root@node2 extra]# curl --head http://sh.house.sina.com.cn/
HTTP/1.1 200 OK
Date: Thu, 17 Jun 2010 08:29:36 GMT
Server: Apache/2.2.6 (Unix)
Last-Modified: Thu, 17 Jun 2010 08:18:35 GMT
Accept-Ranges: bytes
Cache-Control: max-age=1800
Expires: Thu, 17 Jun 2010 08:59:36 GMT
X-Powered-By: ModLayout/5.1
Vary: Accept-Encoding
Connection: close
Content-Type: text/html
squid 3.0 文件数导致当机
[
2010/06/07 19:31 | by 张明辉 ]
2010/06/07 19:31 | by 张明辉 ]
今天接到客服打的电话,说公司财经网站出现了问题,上监控一看,是squid挂掉了,因为我前段做了LVS,所以短时间影响不大!
查看cache.log
client_side.cc(2843) WARNING! Your cache is running out of filedescriptors
根据经验可能是文件描述符的数量使用完了
郁闷!
echo “132096″ > /proc/sys/fs/file-max"
调整后,重启Squid ,OK!
系统默认的设置一般是如下:
cat /proc/sys/fs/file-nr
7125 0 767196
PS1:尤其是针对大并发大连接数Web,squid等应用服务器,还是调大的保险!!

查看cache.log
client_side.cc(2843) WARNING! Your cache is running out of filedescriptors
根据经验可能是文件描述符的数量使用完了
郁闷!
echo “132096″ > /proc/sys/fs/file-max"
调整后,重启Squid ,OK!
系统默认的设置一般是如下:
cat /proc/sys/fs/file-nr
7125 0 767196
引用
7125:总共打开的文件描述符的数量(从系统开机开始算, 所有打开的文件描述符的数量)
0:总共的空闲的文件描述符的数量
767196:最大能打开的文件描述符的数量
0:总共的空闲的文件描述符的数量
767196:最大能打开的文件描述符的数量
PS1:尤其是针对大并发大连接数Web,squid等应用服务器,还是调大的保险!!




