Fork me on GitHub
Suzf  Blog

How-to compile drbd-utils on ubuntu 14.04.4

Ubuntu 上安装 drbd8-utils 之后 创建资源 失败。 查看版本信息 发现内核模块和用户空间的管理工具的版本不匹配 ubuntu14.4.04 kernel中编译的 drbd module 版本是 8.4.5, 而官方trusty所提供的drbd8-utils的版本只到8.4.4, 只能手动编译了

$drbdadm --version
DRBD module version: 8.4.5
   userland version: 8.4.4
you should upgrade your drbd tools!
DRBDADM_BUILDTAG=GIT-hash:\ 599f286440bd633d15d5ff985204aff4bccffadd\ build\ by\ phil@fat-tyre\...
                
            

How-to resolve Target WSGI script xxx.wsgi cannot be loaded as Python module

情景再现: 在我将 Flask应用程序部署到 Apache 的时候,我得到了一个  500 internal sever error 的错误。 查看错误日志得到下面信息

[Tue Jun 21 11:29:46 2016] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips mod_wsgi/3.2 Python/2.7.3 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming #
[Tue Jun 21 11:29:49 2016] [error] [client 172.16.7.158] mod_wsgi (pid=1334): Target WSGI script &...
                
            

How-to Make mod_wsgi use python2.7.3 instead of python2.6.6

场景再现:
CentOs 6.7 中 Python的 默认版本为 2.6.x, 而日常工作中仍是以 2.7.x 居多。
So问题来了,如果使用 Apache + mod_wsgi 构建 基于Python的 Web 服务器,如何修改其中的Python 默认版本呢?
ENV:
CentOs6.7 httpd-2.2.15-47.el6.centos.4.x86_64 python-2.7.3 mod_wsgi-3.2
从Apache 日志中我们可以看到 相关软件的详细版本信息
[Fri Jun 17 11:33...
                
            

Bytes-to-human and human-to-bytes converter

#!/usr/bin/env python

"""
Bytes-to-human / human-to-bytes converter.
Based on: http://goo.gl/kTQMs
Working with Python 2.x and 3.x.

Author: Giampaolo Rodola' <g.rodola [AT] gmail [DOT] com>
License: MIT
"""

# see: http://goo.gl/kTQMs
SYMBOLS = {
    'customary'     : ('B', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'),
    'customary_ext...
                
            

How-to use Flask and mysql to build a simple monitor

本文主要讲述的是: 如何使用 Flask + Mysql + Highcharts 构建一个简单的监控系统 以监控系统内存为例的简易 Demo,文档参考 运维之路 的教程。 整体思路是:

  • 收集数据
  • 存储数据
  • 展示数据

建库建表

mysql> select database();
+------------+
| database() |
+------------+
| highcharts |
+-----...
                
            

Bash Arrays

如果你使用的是类UNIX的shell 你可能对bash 的 数组不是很熟悉。虽然没有向P语言(Perl, Python, PHP)那样强大,但是它们往往是很有用处的。 Bash 数组只有索引编号,但是它们是单独的。也就是说你不必定义所有索引。整个数组可以通过封闭括号中的数组项分配:

arr=(Hello World)

单个项目可以用熟悉的数组语法被分配(除非你已经习惯了Basic或Fortran):

  arr[0]=Hello
  arr[1]=World

但是,当你要引用数组项它变得有点难看:

  echo ${arr[0]} ${arr[1]}

man 手册中的部分内容: 大括号是必需的,以避免与路径扩展冲突...

How-to use dot to draw flow chart

Graphviz (Graph Visualization Software的缩写) 是AT Labs-Research开发的图形绘制工具,他可以很方便的用来绘制结构化的图形网络,支持多种格式输出,生成图片的质量和速度都不错.Graphviz本身是开源的产品,下载可以到 这里,以及他的演示界面 Graphviz在windows上和Linux上都可以顺利运行.它的强大主要体现在“所思即所得"(WYTIWYG,what you think is what you get),这是和office的“所见即所得“(WYSIWYG,what you see is what you get)完全不同的一种方式。

graphviz中包含了众多的布局器:

  1. dot 默认布局方式,主要用于有...