Author: jpuyy

  • docker使用

    pull

    docker pull centos

    build

    docker build -t jpuyy.com:master --rm=true .

    对已有 image 再打一个 tag

    docker tag jpuyy.com:master notexit.com:master

    推到远端

    docker push $REPO:$VER

    复制文件到 docker 里

    docker cp page.html elegant_noether:/user/local/apache2/htdocs

    查看端口映射

    docker port 10936519db14

    找出一批 docker 容器在系统里的 pid

    docker ps -a | grep -i demo1  | awk '{print $1}' | xargs docker inspect --format '{{.State.Pid}} {{.Name}}'
    

    docker 修剪 清理 https://docs.docker.com/config/pruning/

    docker system prune
    
  • journalctl

    查看某个 unit 的日志

    journalctl -u docker
    
    journalctl -f
    

    配置文件

    /etc/systemd/journald.conf

    重启

    systemctl restart systemd-journald.service

    清理 journal log

    只保留两天

    journalctl --vacuum-time=2d

    只保留 500M

    journalctl --vacuum-size=500M
  • 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