zoukankan      html  css  js  c++  java
  • ansible基础知识(二)

    软件相关模块

    yum

    yum和rpm的区别

    rpm:

    (Redhat package manager)RPM管理支持事务机制。增强了程序安装卸载的管理。

    yum:

    YUM被称为 Yellow dog Updater, Modified,是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。YUM使用Python语言写成。YUM客户端基于RPM包进行管理,可以通过HTTP服务器下载、FTP服务器下载、本地软件池的等方式获得软件包,可以从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系。

    YUM在安装RPM时,会从服务器下载相应包,且缓存在本地。

    使用YUM进行RPM包的管理,非常简单方便。

    yum 源配置

    [epel]
    name=Extra Packages for Enterprise Linux 7 - $basearch #名字
    baseurl=http://mirrors.aliyun.com/epel/7/$basearch  #rpm源的地址,可以写http,https,ftp,Samba,file:
    failovermethod=priority
    enabled=1 # 是否开启,1代表开启,0表示关闭
    gpgcheck=0  #是否校验签名,1代表校验,0表示校验
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

     yum安装包组

    yum grouplist # 查看包组信息
    yum groupinstall # 安装包组
    disablerepo #禁用源
    enablerepo #启用源
    name #包名
    state  install (`present' or `installed', `latest'), or remove (`absent' or `removed')
    
    ansible web -m copy -a 'src=/etc/yum.repos.d/epel.repo dest=/etc/yum.repos.d/epel.repo' # 复制epel源到被控机组

     语法格式:

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

     pip

    pip语法:

    pip install <安装包>
    pip freeze > a.txt  # 将python的环境打包到文件中
    pip install -r a.txt  # 安装文件中的包
    pip list # 查看所有的以安装成功的包

     ansible中pip使用pip

    ansible web -m service -a 'name=nginx state=started' # 启动nginx
    ansible web -m service -a 'name=nginx state=stopped' # 关闭nginx

    计划任务

    crontab 语法

    * * * * * job 
    分 时 日 月 周 任务
    0 */2 *  * *  job  每隔两个小时
    0 12,13 * * * job 12点和13点
    0 12-17 * * * job 12点到17点
    0 12-17/2 * * 1,3,6,0 周1,周3,周6,周7 12点到17点每隔两个小时 
    crontab -e # 编辑计划任务
    crontab -l # 查看计划任务
    crontab -r # 删除计划任务

     ansible中cron参数

    day  天
    disabled 禁用
    hour 小时
    job 任务
    minute 分钟
    month 月
    name 任务名字
    weekday 周

     ansible中cron语法

    ansible db -m cron -a 'minute=26 job="touch /tmp/xzmly.txt" name=touchfile' # 新建一个计划任务
    ansible db -m cron -a 'name=touchfile state=absent' # 删除一个计划任务
    ansible db -m cron -a 'minute=26 job="touch /tmp/xzmly.txt" name=touchfile disabled=yes'  # 禁用计划任务,以#表示禁用

     用户相关

    用户:
        管理员  root 0
        普通用户
            系统用户  不能登录  1-999 centos7 1-499 centos6
            登录用户  可以登录  1000-65535 centos7 500-65535 centos6
    用户组:
        管理员组 root 0
        系统用户组 1-999 centos7 1-499 centos6
        登录用户组 1000-65535 centos7 500-65535 centos6 
        
     -d  指定用户的家目录
     -g  指定用户的组
     -G  执行用户的附加组
     -s  指定登录后使用的shell
     -r 创建一个系统组
     useradd -r wusir  创建系统用户, 从999倒序
     useradd -s /sbin/nologin alexsb 创建的是普通用户,从1000开始升序
      useradd -d /opt/alexsb2 alexsb2 创建用户时指定用户的家目录
       useradd -u 3000 alexsb6 # 创建用户并指定用户的uid
      userdel alex 删除用户
      userdel -r alexsb2 删除用户并删除用户的家目录
      
      groupadd yuchao 创建用户组
      groupdel yuchao 删除用户组

     语法:

    group 组
    groups 附加组
    home 家目录
    name 用户名
    password 密码
    remove ?
    shell 用户登录后使用的shell
    system 创建一个系统用户
    uid 用来指定用户的id
    state 状态
    ansible db -m user -a 'name=wulaoshi uid=4000 home=/opt/wulaoshi groups=root shell=/sbin/nologin' #创建一个用户,并指定用户的id,用户的家目录,用户的附加组,用户的shell
    ansible db -m user -a 'name=wulaoshi state=absent' #删除用户但是不删除用户的家目录
    ansible db -m user -a 'name=wulaoshi3 state=absent remove=yes' # 删除用户并删除用户的家目录

    group

    gid 组的id
    name 组名
    system 系统组
    state
    ansible db -m group -a 'name=wulaoshi system=yes' #创建系统组
    ansible db -m group -a 'name=wulaoshi state=absent' # 删除组

     实例

    # 创建一个用户组alex10
    
    ansible web -m group -a 'name=alex10'
    
    # 创建一个用户wusir10
    
    ansible web -m user -a 'name=wusir10'
    
    # 把/etc/fstab文件复制到远程主机上/tmp/f
    
    ansible web -m copy -a 'src=/etc/fstab dest=/tmp/f'
    
    # 安装nginx,并启动,设置开机自启动
    
    ansible web -m yum -a 'name=nginx'
    
    ansible web -m service -a 'name=nginx enabled=yes'
  • 相关阅读:
    浅谈css中的盒模型(框模型)
    Linux 字符设备驱动及一些简单的Linux知识
    java实现person类 override(重写) comparable接口
    java之内部类
    mac下sublime text3 安装px转rem插件
    python pip安装扩展报错
    curl http_code 状态码
    sed 批量替换文件
    centos 7 开机优化shell
    一个tcp连接可以发多少http请求
  • 原文地址:https://www.cnblogs.com/baijinshuo/p/10409373.html
Copyright © 2011-2022 走看看