rsyslog的一个高级点的用法, 根据programname做日志文件分离, 使用template功能根据系统时间切割日志文件:
*.info;mail.none;authpriv.none;cron.none;!local1;!local3;!local2; /var/log/messages
继续阅读 »
zmq push--pull 方式
在ZMQ中是淡化服务端和客户端的概念的:
相对的服务端:
创建一个SUBer订阅者bind一个端口, 用来接收数据
创建一个zmq.PUSH
创建一个zmq poller轮询对象,
将sub注册到poller, 并赋予zmq.POLLIN意味轮询进来的msg
创建sock=poller.poll()开始轮询
当有msg发送到suber订阅者的监听端口后, sock.recv()方法将会收到msg,
最后使用之前创建的pusher, 使用pusher.send(msg)将消息推送到连接到的puller, 如果无puller, 此msg将被丢弃
继续阅读 »
hubot 机器人, 居然今天才去了解了下它, 用nodejs运行, coffee javascrpit写的.
记录下安装方式
如果是redhat系列的linux, 使用yum 安装即可, centos6后的nodejs版本已经很新了.
实在不行就搞源码安装.
继续阅读 »
使用datetime, 构造一个cron task定期执行给定的函数方法
一个Plan类, 包含next_datatime, execute, 两个方法, init方法指明在实例化的时候,需要给定一个func作为参数, 其他参数可以是时间间隔, 或具体的时间点,
继续阅读 »
备份:
在postgres.conf配置里指定:
archive_command = 'cp "%p" /data/postgresql/arch/"%f"'
设定:
wal_level=archive
手工备份操作方式:
继续阅读 »
五一非常无聊的在家呆着, 最近在google资料时, 查到的一些技术blog, 发现好多都在github里, 也就是好多人都把github当作保存技术文章的的管理器, 然后用比如Markdown等语法形式写, 自己弄个简单的程序读出来, 展示就可以变成一个基本的blog站点了.
我的这个blog也是这个意思, https://github.com/liutaihua/yyu.me.git, 写好的article放在post目录, 一个tornado的web框架, 读出这些article, 加个html围绕就变成现在这个样子了, 不过我还给它增加了在线编辑器, 是一个Markdown语法的在线编辑器, 可以试试预览Markdown
继续阅读 »
说起来题目比较拗口, 比较常见到的是IP地址, 由8个2进制位, 转换成十进制最大为255, 这都知道.
以前学网络的时候, 经常碰到, 一个ip的一段, 比如 192.168.1.211中的211, 211转换成2进制是11010011,
继续阅读 »
FlameGraph的例图,解释如下:
图中每一个方块代表栈里的一个函数。
Y轴代表调用深度,最上面的是当前正在CPU上执行的函数,下面的都是其祖先。每个函数都是由它下方的函数调用的。
X轴不是按照时间先后排列的,它只代表样本数目。方块越宽,代表该函数出现的次数越多。
在有多个并发线程同时被采样,样本总数可能超过采样所用的时间。
继续阅读 »
源码里的结构:
tornado
├── auth.py
├── autoreload.py
├── ca-certificates.crt
├── curl_httpclient.py
├── database.py
├── escape.py
├── gen.py
├── httpclient.py
├── httpserver.py
├── httputil.py
├── init.py
├── ioloop.py
├── iostream.py
├── locale.py
├── netutil.py
├── options.py
├── platform
│ ├── auto.py
│ ├── common.py
继续阅读 »
kvm的guest镜像可以mount到本地
首先使用qemu-img info img_file查看镜像使用的文件格式, 通常默认的是raw
[root@ttt data]# qemu-img info vm1.img
继续阅读 »