Blog

  • seq使用方法

    seq 5 会打印 1-5 的数字,一个数字一行

    1
    2
    3
    4
    5
    

    seq 22 27 打印 22-27 数字

    22
    23
    24
    25
    26
    27
    

    seq -w 00 05 打印 00-05

    00
    01
    02
    03
    04
    05
    

    同理
    seq -w 000 005 打印 000-005

    000
    001
    002
    003
    004
    005
    
  • 记录指定状态码的 nginx log

    在 server 里配置,记录 403 的日志

    server {
        server_name example.com;
        access_log /var/log/nginx_access_403.log combined;
        include block_inject.conf;
        location / {
            if ($status != "403") {
                access_log off;
            }
            #......
        }
    }
    
  • git 在每一次 commit 中清理文件

    有两个很大的二进制文件,在版本库中没有一点用处。
    使用核武器 filter-branch ,将每一次提交中出现这两个文件的时候删掉,然后重新提交,所以 commit 的 hash 值都会变掉。

    git filter-branch -f --tree-filter 'rm -f nginx/files/GeoLiteCity.dat nginx/files/GeoIP.dat' HEAD

    强制 push 到 origin

    git push origin --force

    你的合作者现在混乱了。需要将远端的 master rebase 过来

    git rebase --onto origin/master master master
    git fetch
    git reset --hard origin/master

    强制 pull 下来

    git pull --force
  • kvm 模板配置

    装好系统之后,在关机前,需要把网卡信息清理掉

    http://www.andrewklau.com/device-eth0-does-not-seem-to-be-present-delaying-initialization/

    关机后,压缩模板,使发布过程更快

    qemu-img convert -c g97m01st.img -O qcow2 centos.img
  • python随机取出列表元素

    dns 三台,分别选出一台和两台

    #!/usr/bin/env python
    import random
    
    resolv_servers = ['192.168.1.1', '192.168.1.2', '192.168.1.3']
    # 选出一个
    print random.choice(resolv_servers)
    # 选出两个,做为一个列表
    print random.sample(resolv_servers, 2)
    
  • python打乱列表顺序

    主要用到了 random 的 shuffle 方法

    一个 resolv 的列表,每一次执行都输出不同的顺序

    #!/usr/bin/env python
    import random
    
    resolv_servers = ['192.168.1.1', '192.168.1.2', '192.168.1.3']
    random.shuffle(resolv_servers)
    print resolv_servers
    

    同样,ansible 的 jinja2 模板里,定义了 resolv_servers,在不同机器下发时输出不同的顺序,使多台服务器均衡。

    {% for server in resolv_servers|shuffle %}
     nameserver {{ server }}
     {% endfor %}