ReMember

源码添加PHP-imap拓展

近日在添加PHP-imap扩展时需要到一些问题:直接编译存在找不到源码安装的OpenSSL库的情况,而使用Yum安装的会依赖其它包,尤其是系统自带的openssl-devel库。 经查找实践现已解决,用源码编译安装:

Apache重载之后,便可看到IMAP扩展已添加上:

使用tcpdump抓取MySQL执行语句并记录

由于MySQL自带的Binlog日志只记录操作语句,而General Log也是多记录个操作用户,并无记录执行的机器IP地址,故写了此脚本来进行抓包。 从抓取的数据包中截取想要得到的信息并进行日志记录:

指定抓取的接口和MySQL监听的端口和协议,然后就可以抓取所有发到服务器的所有MySQL协议的数据包 -s 0抓取所有大小的数据包 […]

华为AR2240路由器QoS流量整形与监管

QoS概述 网络的普及和业务的多样化使得互联网流量激增,从而产生网络拥塞,增加转发时延,严重时还会产生丢包,导致业务质量下降甚至不可用。所以,要在网络上开展这些实时性业务,就必须解决网络拥塞问题。解决网络拥塞的最好的办法是增加网络的带宽,但从运营、维护的成本考虑,这是不现实的,最有效的解决方案就是应用一个“有保证”的策略对网络流量进行管理。 QoS技术就是在这种背景下发展起来的。QoS(Quali […]

因突然断电导致MySQL主从同步1236错误处理

因机房突然断电导致负责的一组MySQL 5.6主从出现1236错误,提示读取Binlog严重错误:position点读取错误,导致I/O线程终止。如下: 可以看到,从库要读取的Position比主库上此binlog日志的最后一个Position还要大。此由于主机异常掉电导致binlog 未及时同步到磁盘。从库读取了主库binlog file中的不存在的binlog position ,一般比bin […]

Nginx日志切割

Nginx自带没有日志轮循功能,需要借助系统logrotate或自写脚本实现,下面是使用脚本来实现:

思路:将日志文件移动出来,然后给Nginx发出USR1指令(因为Nginx是按文件的inode来写入日志的)。

xargs命令使用

前言 在日常的Linux使用中,我们经常需要使用到管道符 “|” 进行命令连接,来处理组合操作,例如:

管道符的操作是将前一个命令执行后的正确输出作为后一个命令的操作对象执行。 这样的操作可以胜任绝大多数操作环境,但如果是要将前一个命令的正确输出作为后一个命令的参数来执行,有时就显得力不从心了,例如: [crayon-5da90e5 […]

Linux使用命令发送邮件

Linux下可以使用mail和sendmail命令进行邮件发送,这两个命令各有特点,下面就来看看: 发送纯文本格式普通邮件 mail命令 mail命令非系统自带,需安装:

命令格式:

常用参数有: -s 指定邮件标题;-a 指定邮件附件;-r 指定发件人邮箱地址。 邮 […]

使用sshpass进行无密码输入提示的SSH连接

大家都知道,使用ssh命令进行远程主机连接时是需要输入密码或使用密钥登录然后进行交互式操作的,如下:

如使用密钥进行连接,可以直接后面接入命令直接执行,但仍需要事先导入对端连接密钥:

这样都不方便脚本的制作和移值使用。 下面介绍一款工具可以解决这种情况,方便脚本的制作 […]

Linux下查看硬盘分区UUID和LABEL

有多种方式实现,贴下最简明的两种: 使用blkid命令进行查看:

使用ls查看/dev/disk下面的影射:

 

SHELL脚本获取自身所在路径和名字

获取自身所在路径 常见错误是使用命令或$PWD变量,这是不对的,因为此命令、变量是显示用户当前的工作目录;如果用户的执行路径不在脚本所在目录的话,就会出现无法找到文件的情况,如:使用crontab添加的计划任务,其执行路径是在用户家目录,这样一来就会出现因路径获取不对而找不到文件的错误: $0,$0是BASH环境下的特殊变量,根据执行环境不同结果也大不相同,可见: 故使用cd dirname $0 […]