rsyslog disk queue配置

我们是这么使用rsyslog的:

app —-通过/dev/log写入—-> 本地rsyslogd ——–tcp转发(DA Queue)——> 集中日志收集rsyslogd

其中: DA Queue就是如果远程rsyslogd出现问题了,就暂存到本地(先内存后磁盘)

小朋友说配置了DA Queue了,但是一次远程rsyslogd的几个小时的中断过后,日志没能暂存到app端;配置如下:

其实,我们只是使用了local6,我们也只想转发local6的日志到远程rsyslogd;但是,小朋友就是画蛇添足多写了 user.* 这行, 问题就出现在这行;说明: ActionQueue的配置是针对紧挨着的那个转发的配置的,一个ActionQueue的配置不能同时应用到多个转发的配置的。

 

参考资料:http://bigsec.net/one/tool/rsyslog.html

http://my.oschina.net/0757/blog/198329

git diff(merge) with beyond compare

在mac上,beyond compare默认没有安装命令行,需要通过如下方式安装命令行:

其中,命令行有两个命令,如下:

/usr/local/bin/bcomp:
Launches comparison and waits for it to complete.

/usr/local/bin/bcompare:
Launches comparison and returns immediately.

 

配置diff工具和配置merge工具几乎没有太大差别,这里以diff为例

首先,看看git支持哪些diff工具:

其中:

  1. 后面的工具能用,但是当前不可用;大概意思是,下面这些工具都是图形化的,需要窗口环境,但是,当前是一个terminal-only的会话,他们会失败的。 (但是,我下面要使用的bc就是图形化的呀?)
  2. bc是啥? 就是 beyond compare; 为啥还分bc和bc3?(估计是参数定义不同吧,我们配置工具的时候也不需要指定参数,肯定是git已经帮我们配置好了)
  3. git没有内置这些工具,只是默认有这些工具的相关配置
  4. 我们可以直接通过命令行参数指定使用哪个工具,如下,指定vimdiff:
    git difftool -t vimdiff
  5. 我们可以通过 -x 选项指定自定义的命令,参数就是要比较的两个文件,这样我可以使用git没有内置支持的一些工具了

配置方法, git difftool –help

参考:https://gist.github.com/jfromaniello/9207698

openldap 备份与导入

ldap有几个slap* 命令,与ldap* 命令不同的是,前者直接操作库文件,不涉及密码问题。

导出:

导入:

注意: 导入时,slapd不能是启动状态,至少使用bdb存储时如此,因为slapd启动后会对数据文件加锁;毕竟slapadd也不是通过slapd写入文件的,所以slapd没必要启动

参考资料:

http://www.361way.com/openldap-bak-imp-move/2366.html

http://www.cnblogs.com/ccdc/p/3356518.html

 

nginx 多证书配置

曾经的曾经,单个IP上配置多个https证书是不可以的;随着ssl的一代代的升级,得益于TLS的SNI(Server Name Indication ),现在单个IP上也可以配置多个https证书了;但是,需要client和server都支持(不过现在的浏览器或其他client都能支持了),只要sslv3或tls都可以

查看nginx是否支持多证书:

参考:

http://blog.csdn.net/cccallen/article/details/6672451

https://www.ttlsa.com/web/sni-multi-domain-virtual-host-ssl-tls-authentication/

关于virtualbox的Page Fusion

参考文档: https://www.virtualbox.org/manual/ch04.html#guestadd-pagefusion

上面文档意思是: 如果同一个宿主机上有很多很类似的虚拟机的话,当 Page Fusion为on时,会节省内存;

测试了下,没达到预期效果

 

测试方法:

31G宿主机内存,启动了31个虚拟机,每个虚拟机分配2G内存,实际大约占用1G内存;

由于每个虚拟机基本没有差别,所以,期望内存共用非常明显,比如,31G内存启动100个虚拟机; 实际上和没有开启Page Fusion没有差别

 

尝试用docker做虚拟机试试能在31G的内存上启动多少个虚拟机(估计效果也不佳); 一定要搞明白virtualbox是Page Fusion为啥不生效

建立私有的 yum 源站

yum源站主要包含如下内容:

  1. 要发布的rpm包
  2. 通过工具将rpm包进行索引(createrepo)
  3. 通过webserver提供服务(如果是本地yum源也可以没有webserver;如果是ftp地址也是可以的)

安装工具:

创建目录

添加rpm包

创建索引:

注意:

  1. 每次添加rpm包,都要重新创建索引
  2. -o 选项的意思是: 把repodata目录创建到这里; 最后一个路径指的是rpm包存放的位置

如果想把rpm包存放在 centos/6/x86_64/packages 目录下,则

 

之于webserver如何配置,这里就不说了

createrepo 总是会扫描指定目录下的所有子目录的

 

参考: http://www.nowo.com/create_private_yum_repo/

PHP名字空间

如下:

a.php

 

b.php

 

php a.php

 

如果 a.php 中

则输出的是 Group in B;

否则: 输出Group in A;

至少不会冲突