由于最近使用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.

Ansible--常用命令整理的更多相关文章

  1. 【linux】---常用命令整理

    linux常用命令整理 一.ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等 常用参数搭配: l ...

  2. Tomcat性能优化及常用命令整理

    1汤姆猫性能优化 1.1连接参数 1.1.1默认连接配置 默认连接器采用阻塞式 IO,默认最大线程数为200,配置如下: <Connector port="8080" pro ...

  3. linux 服务器常用命令整理

    linux 服务器常用命令整理 目录 网络分析 - tcpdump \ telnet \ (netstat \ ss \ lsof) \ nload 网络传输 - scp \ rsync \ (rz ...

  4. ansible常用命令

    一.ansible常用命令 一.ansible命令的常用参数 ansible 默认提供了很多模块来供我们使用.在 Linux 中,我们可以通过 ansible-doc -l 命令查看到当前 ansib ...

  5. (小组)Git 常用命令整理

    Git 常用命令整理 取得Git仓库 初始化一个版本仓库 git init Clone远程版本库 git clone git@xbc.me:wordpress.git 添加远程版本库origin,语法 ...

  6. salt 常用命令整理

    salt 常用命令整理 ***********模块*********** 查看模块列表module salt 'minion' sys.list_modules 查看指定module的function ...

  7. Dos常用命令整理

    Dos常用命令整理 打开cmd的方法 开始菜单 -> 系统 -> 命令提示符 组合键Win+R打开运行 -> 输入cmd 在任意文件夹下Shift+鼠标右键 -> 在此处打开命 ...

  8. npm常用命令整理

    npm是一个NodeJS包管理跟分发工具,已经成为了非官方的发布node模块(包)的标准.它可以帮助我们解决代码部署上的一些问题,将开发者从繁琐的包管理工作中(版本.依赖等)解放出来,更加专注于功能上 ...

  9. Linux上常用命令整理(一)—— cat

    近几个月刚从windows上转过来,开始慢慢熟悉linux,先不撕比到底哪个更好,首先要怀着相互借鉴的精神去了解各个平台. Linux上做开发,除去使用文本编辑器做开发的大神之外,大家(包括我这种菜鸟 ...

  10. Conda/Miniconda/Anaconda 常用命令整理及介绍

    作者:HELO 出处:http://www.cnblogs.com/HELO-K 欢迎转载, 转载时请保留此声明, 谢谢! 在这里整理一份全一点的 Conda 常用命令, 方便大家日常使用时参考, 一 ...

随机推荐

  1. Fokker–Planck equation

    Fokker–Planck equation:https://en.wikipedia.org/wiki/Fokker%E2%80%93Planck_equation 随机微分方程:https://e ...

  2. Composer\Downloader\TransportException ... Failed to enable crypto,failed to open stream: operation failed

    failed to open stream: operation failed 错误详细信息: [Composer\Downloader\TransportException] The "h ...

  3. Spring Cloud(2)主要组件应用实例

    SpringCloud SpringCloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.负载均衡.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运行 ...

  4. Python Flask框架入门

    序言 Flask封装功能不及Django完善,性能不及Tornado,但是Flask的第三方开源组件比丰富. 如果你是一个追求极简风格的完美主义者,那么Flask适合你. 资料

  5. ASCII 、UTF-8、Unicode编码

    1.各种编码的由来 1.1.计算机编码的由来 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.所以只能是用一些数字来表示文本,这就是编码的由来.最早的计算机在设计时采用8个比 ...

  6. 计蒜客 T2237 魔法 分类讨论

    Code: #include<bits/stdc++.h> #define setIO(s) freopen(s".in","r",stdin) # ...

  7. POJ 1742 Coins ( 经典多重部分和问题 && DP || 多重背包 )

    题意 : 有 n 种面额的硬币,给出各种面额硬币的数量和和面额数,求最多能搭配出几种不超过 m 的金额? 分析 : 这题可用多重背包来解,但这里不讨论这种做法. 如果之前有接触过背包DP的可以自然想到 ...

  8. Windows上安装Apache

    1.下载 (1)进入Apache官网http://httpd.apache.org— (2)点击Download (3)点击Files for Microsoft Windows (4)点击Apach ...

  9. Oracle In子句

    Oracle In子句 作者:初生不惑 Oracle基础 评论:0 条 Oracle技术QQ群:175248146 在本教程中,您将学习如何使用Oracle IN运算符来确定值是否与列表或子查询中的任 ...

  10. 大数据笔记(三)——Hadoop2.0的安装与配置

    一.Hadoop安装部署的预备条件 准备:1.安装Linux和JDK. 安装JDK 解压:tar -zxvf jdk-8u144-linux-x64.tar.gz -C ~/training/ 设置环 ...