• Ansible常用命令整理


    由于最近使用ansible在多台服务器部署程序,运行命令的时候,发现对Linux和ansible自动运维工具用的不太熟练,所以搜集整理一些,方便日后复习提升,达到熟练运用的目的。

    对于详细的安装教程和使用命令,网上有很多资料,但是一定要跟着多敲多练,方熟能生巧。

    常用模块:
    Copy, file, cron, group, user, yum , service, script , ping, command, raw, get_url , synchronize

    # 主机下载ansible
    sudo yum install ansible -y

    # 添加主机组定义
    sudo cat /etc/ansible/hosts

    # 被管理的机器
    # sudo yum install libselinux-python -y
    # ssh-agent bash
    # ssh-add ~/.ssh/id_rsa

    # 主机生成密匙,第一次生成就可以了
    # ssh-keygen -t rsa

    # 推送免登录密匙
    ssh-copy-id 10.300.27.38

    # 检测是否连通
    ansible spiders -m ping
    ansible all -m ping

    '*':自己定义的主机 -m command:命令
    ansible '*' -m command -a 'uptime'

    # 指定节点上的权限,属主和数组为root
    ansible '*' -m file -a "dest=/tmp/t.sh mode=755 owner=root group=root"

    #指定节点上定义一个计划任务,每隔3分钟到主控端更新一次时间
    ansible '*' -m cron -a 'name="custom job" minute=*/3 hour=* day=* month=* weekday=* job="/usr/sbin/ntpdate 172.16.254.139"'

    # 指定节点上创建一个组名为aaa,gid为2017的组
    ansible all -m group -a 'gid=2017 name=a'

    # 在节点上创建一个用户aaa,组为aaa
    ansible all -m user -a 'name=aaa groups=aaa state=present'

    删除用户示例
    ansible all -m user -a 'name=aaa groups=aaa remove=yes'

    # 在节点上安装httpd
    ansible all -m yum -a "state=present name=httpd"

    # 在节点上启动服务,并开机自启动
    ansible all -m service -a 'name=httpd state=started enabled=yes'

    # 远程拷贝文件
    ansible spiders -m copy -a "src=/home/xxx_admin/test.py dest=/home/ xxx _admin/"

    # 指定某一台机器操作,将ip地址指定
    ansible 10.205.31.184 -m copy -a "src=/home/ xxx _admin /test.py dest=/home/ xxx_admin/"

    # 指定多台机器操作,将ip地址指定,中间用逗号分隔
    ansible 10.205.31.184, 10.205.31.185 -m copy -a "src=/home/xxx_admin/test.py dest=/home/xxx_admin/"

    # 远程拷贝文件,并在拷贝之前对之前的文件进行备份(注意:两个文件不同,如果相同则不进行备份和拷贝)
    ansible spiders -m copy -a "src=/home/xxx_admin/test.py dest=/home/xxx_admin/ backup=yes"

    # 远程拷贝文件,并赋予文件权限
    ansible spiders -m copy -a "src=/home/xxx_admin/run_test.sh dest=/home/xxx_admin/ mode=777"
    ansible spiders -m copy -a "src=/home/xxx_admin/python_install.sh dest=/home/xxx_admin/ mode=0777"

    # 远程执行sh脚本
    ansible spiders -m shell -a "/home/xxx_admin/run_test.sh"

    # 远程执行sh脚本,只执行sh脚本,并不复制。
    ansible spiders -m script -a "/home/xxx_admin/run_test.sh"


    # 远程删除文件(注意:最好使用state=absent,不使用rm进行删除)
    ansible spiders -m shell -a "rm -rf /home/xxx_admin/test.txt"
    ansible spiders -m file -a "path=/home/xxx_admin/test.txt state=absent"

    #加班痛苦与否,在于目标是否明确。2019.11.20  20:59
    #多一分付出,就多一份收货。come on

    # 远程定时任务
    ansible spiders -m cron -a " name='crontab01' minute=2 job='/home/xxx_admin/run_test.sh > /home/xxx_admin/crontab.log 2>&1' "
    ansible spiders -m cron -a " name='crontab01' minute=*/2 job='/home/xxx_admin/run_test.sh > /home/xxx_admin/crontab.log 2>&1' "
    ansible 10.203.21.175 -m cron -a " name='test' minute=* hour=* day=* month=* weekday=* job='sleep 30; sh /home/xxx_admin/spiderxxx/sp_xxx/spider/xlong_ota_back/xlong_ota_back.sh' "

    # 在节点上运行hostname
    nsible all -m raw -a 'hostname|tee'

    # 将指定url上的文件下载到/tmp下
    ansible all -m get_url -a 'url=http://10.1.1.116/favicon.ico dest=/tmp'

    # 执行远程主机的脚本
    ansible '*' -m shell -a 'ps aux|grep zabbix'

    # 类似shell
    ansible '*' -m raw -a "ps aux|grep zabbix|awk '{print \$2}'"

    # 创建软链接
    ansible '*' -m file -a "src=/etc/resolv.conf dest=/tmp/resolv.conf state=link"

    # 删除软链接
    ansible '*' -m file -a "path=/tmp/resolv.conf state=absent"

    ---------Practice makes perfect. Stay foolish, stay hungry.

  • 相关阅读:
    常见的兼容问题
    css3新增伪类
    完美的js运动框架
    C++ 常用宏
    多线程代码段 自清理线程
    寒假自学(十一)
    寒假自学(十)
    寒假自学(九)
    寒假自学(八)
    寒假自学(七)
  • 原文地址:https://www.cnblogs.com/pythonbetter/p/11900810.html
Copyright © 2020-2023  润新知