Blog

  • ansible 读取 yaml facts

    默认 ansible 只读取 /etc/ansible/facts.d/*.fact,并且是 ini, json,或者执行能输出 json.

    对于机器上放了 env.yaml ,想要塞入 facts,可以做一个脚本,输出 json

    #!/usr/bin/env python
    #-*- utf-8 -*-
    
    import yaml
    import json
    
    env_dict = yaml.load(open('/etc/env.yaml'))
    print json.dumps(env_dict)
    
    ansible all -i hosts -l guest1 -m setup -a "filter=ansible_local"
    

    这样可以直接在 playbook 里用 ansible_local.env.cluster_name 变量了
    

  • vim sudo 保存

    没有用 sudo vim 打开文件,保存的时候没权限怎么办

    :w !sudo tee %
  • python 获取 home 路径

    写脚本有需求把 cache 保存在 $HOME。获取路径可以使用

    os.path.expanduser('~')
    
  • 清理大日志文件的部分

    nginx 日志没有做日志轮转,大小 154GB了,清理前 10000 行日志

    使用 sed,效率并不高

    sed -i '1,10000d' access.log
    
  • markdown使用

    插入图片

    ![minipic](mypic.jpg)

    指定宽度

    ![minipic](mypic.jpg =200x)

    指定宽高

    ![minipic](mypic.jpg =200x100)
  • ss命令的使用

    centos6 下安装 iproute 包

    yum install -y iproute
    

    查看 6379 端口

    ss -nlp | grep redis

    查看连接的各种状态

    ss -nat | awk '{++s[$1]} END {for(k in s) print k,s[k]}'

    查看所有状态

    ss state all

    http://sharadchhetri.com/2014/09/27/ss-command-alternate-netstat/