zoukankan      html  css  js  c++  java
  • ansible模块总结2-- file, fetch, yum, pip, service, cron, user, group

    ansible-doc -s 模块名称 查看使用文档

    一.file

      文件或者文件夹的操作

    参数

    group # 属组
    mode #权限
    owner #属主
    path #路径
        state =link
        state =hard
    state
        directory 目录
        file
        touch 空文件
        absent 删除
       link
       hard
    src link 软连接 hard 硬链接

    示例

    ansible web -m file -a "path=/tom5 state=directory owner=tom" #创建目录,并制定属主
    ansible web -m file -a "path=/tmp/bob.txt state=touch mode=777" #创建文件,并指定权限
    ansible web -m file -a "path=/tmp/cron src=/var/log/cron state=link" #创建软链接,链接的是自己的文件
    ansible web -m file -a "path=/tmp/cron state=absent" # 删除软连接
    ansible web -m file -a "path=/tom5 state=absent" #删除文件夹

    软连接与硬连接对比

    软连接  快捷方式  ln -s   源文件修改软连接修改  源文件删除软连接失效  可以跨分区 
    硬链接  硬盘的位置 ln     源文件修改硬链接修改  源文件删除硬链接不变 不可以跨分区
    复制    开辟新空间 cp     源文件修改cp的不变   源文件删除不变 可以跨分区

    二.fetch

      拉取远程主机的文件,并以主机ip地址或者主机名为目录,并且保留了原来的目录结构

    参数

    dest 目标地址
    src 源地址

    示例

    ansible web -m fetch -a "src=/var/log/cron dest=/tmp" 

    三.yum

      安装linux的软件包

    1.yum跟rpm有什么关系,有什么区别

    rpm redhat package manager
    yum 可以解决依赖关系

    2.yum源怎么配置

    [epel] #名称
    name=Extra Packages for Enterprise Linux 7 - $basearch #全名或者描述信息
    baseurl=http://mirrors.aliyun.com/epel/7/$basearch # 源url地址
    failovermethod=priority
    enabled=1 #是否启用,1启用,0不启用
    gpgcheck=0 #是否检验key文件,0不校验 1校验
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

    3.yum怎么安装包组

    yum grouplist #查包组信息

    参数

    disablerepo #禁用某个源
    enablerepo #启用某个源
    name #包名, @包组名称
    state
        install
        remove

    示例

    ansible web -m yum -a "name=python2-pip" #安装软件包
    ansible web -m yum -a "name=python2-pip,redis" #安装多个包
    ansible web -m yum -a "name='@Development Tools'" #安装包组
    ansible web -m yum -a "name=nginx state=absent" #卸载

    四.pip

      安装python的包

    参数

    chdir #切换目录
    name #包名
    requirements #导出的文件
    virtualenv #虚拟环境

    基本使用

    pip freeze > a.txt #将本地环境导出
    pip install -r a.txt  #安装所有的包
    pip list #查看所有的包
    pip uninstall flask #卸载
    # 下载包
    Python setup.py build 
    python setup.py install

    示例

      ansible中的pip,被控机上应安装有pip才行

    ansible  mygroup -m pip -a "name=django==1.11.14"  # 给被控机安装django

    五.service

    关于service命令

    启动
      systemctl start redis    #centos7
      service redis start     #centos6
    开机自启动
      systemctl enable redis    #centos7
      chkconfig redis on        #centos6
    init
      0
    关机 1单用户 3命令行 5图形界面 6重启
    查进程的两种方式 1. 
    ps -ef|grep redis
    2. ss -tunlp     
    -t tcp     -u udp     -n 以端口形式显示     -l 显示所有已经启动的端口     -p 显示pid

    参数

    enabled #开机启动
    name #服务名称
    state  
        started
        stopped
        restarted
        reloaded
    user #启动的用户

    示例

    ansible web -m service -a "name=redis state=started" #启动
    ansible web -m service -a "name=redis state=stopped" #关闭
    ansible web -m service -a "name=redis enabled=yes" #设置开机自启动

    六.cron

      定时任务

    参数

    day 天
    disabled 禁用crontab,表现形式加#
    hour 小时
    job 任务
    minute 分钟
    month 月
    name 名字,描述信息
    user 用户
    weekday 周
    添加时名字必须不同,不加名称为None

    示例

    ansible web -m cron -a "minute=12 name=touchfile job='touch /tmp/xiaoqiang.txt'"# 创建
    ansible web -m cron -a "name=touchfile state=absent" #删除
    ansible web -m cron -a "minute=12 name=touchfile2 job='touch /tmp/xiaoqiang.txt' disabled=yes" #注释
    ansible web -m cron -a "name=None state=absent" #删除名称为空的计划任务

    七.user

    用户分类
      1.超级管理员 root 0
      2.普通用户
               系统用户 启动一些服务或者进程,不能登录 1-999 centos7 1-499 centos6 从大到小
               登录用户 可以登录的用户 1000-65535 centos7 500-65535 centos6 uid从小到大

    参数

    group 属组
    groups 附加组
    home 设置家目录
    name 用户名
    remove 删除用户并删除用户的家目录
    shell 用户登录后的shell
    system 系统用户
    uid 用户的id
    state

    示例

    ansible web -m user -a "name=tom10 shell=/sbin/nologin home=/opt/tom10 uid=3000 groups=root" #创建用户,并指定用户的shell,家目录,uid,以及附加组
    ansible web -m user -a "name=tom11 shell=/sbin/nologin home=/opt/tom11"
    ansible web -m user -a "name=tom12 system=yes" #创建系统用户
    ansible web -m user -a "name=tom12 state=absent" #删除用户,单不删除家目录
    ansible web -m user -a "name=tom11 state=absent remove=yes" # 删除用户并删除用户的家目录

    linux的user命令

    tail /etc/passwd  查看密码文件
    tail /etc/shadow  查看用户文件
    id tom2  查看tom2的uid
    useradd 
        -d 设置用户家目录
    useradd -d /opt/tom2 tom2
        -g 设置用户的属组
    useradd -g tom2 tom3 
        -G, --groups 附加组
    useradd -G tom2,root tom4
        -r, --system 系统账号
    useradd -r tom5 # 系统账号没有家目录
        -s, --shell #设置用户登录后的shell
    useradd -s /sbin/nologin tom8
        -u, --uid UID #设置用户的id
    useradd -u 2000 tom9
    设置了用户的id以后,在设置用户则从最大的id开始往后数
    userdel
    userdel tom8 默认不删除家目录
        -r 删除用户的家目录
    userdel -r tom9 删除用户并删除用户的家目录

    八.group

    添加用户组

    groupadd -g 设置id
             -r 系统组    

    用户组分类

      超级管理员组 root 0
      普通组
        系统组 1-999 centos7 1-499 centos6  uid从大到小
        登录用户组 1000-65535 centos7 500-65535 centos6 uid从小到大
    参数

    gid 组id
    system 系统组
    name 名称
    state

    示例

    ansible web -m group -a "name=bob10 system=yes gid=5000" 创建系统组
    ansible web -m group -a "name=bob11" 创建普通的组
    ansible web -m group -a "name=bob11 state=absent" #删除组
  • 相关阅读:
    企业如何在智能制造的时代保持竞争力?
    汽车行业MES系统在产品追溯方面的应用分析
    你能想象未来的MES系统是什么样吗?
    智能制造进入下半场?APS如何进行优化
    【案例】如何让阀门制造提高排产效率?APS系统帮你实现
    APS系统的现状以及与MES系统的关联
    MES被重新定义?做到这几点才算智能制造
    python部分笔记
    BUUCTF Hack World
    BUUCTF--checkin
  • 原文地址:https://www.cnblogs.com/robertx/p/10822186.html
Copyright © 2011-2022 走看看