| chdir  | 执行命令前先进入到指定目录 |
| cmd | 运行命令指定 |
| creates | 如果文件存在将不运行 |
| removes | 如果文件存在在将运行 |
| free_form | 在远程主机中执行的命令,此参数不需要加 |
| executable | 指定执行环境,默认为sh |

#实例

ansible all -m shell -a "executable=/bin/bash ps ax | grep $$ " -k

三、script

#功能:
在ansible主机中写好的脚本在受控主机中执行

#实例

vim /mnt/westos.sh
#!/bin/bash
echo $HOSTNAME

ansible all -m script -a "/mnt/westos.sh" -k

四、copy

#功能
从ansible主机复制文件到受控主机

常用参数
| src | 源文件 |
| dest | 目的地文件 |
| owner | 指定目的地文件所有人 |
| group | 指定目的地文件所有组 |
| mode | 指定目的地文件权限 |
| backup=yes | 当受控主机中存在文件时备份原文件 |
| content    | 指定文本内容直接在受控主机中生成文件 |

#实例

ansible all -m copy -a "src=/root/westos dest=/mnt/westos  owner=lee mode=777 backup=yes"
ansible all -m copy -a "content='hello westos\nhello linux\n' dest=/mnt/westosfile1 owner=lee mode=600"

五、fetch

#功能
从受控主机把文件复制到ansible主机,但不支持目录

常用参数
| src | 受控主机的源文件 |
| dest | 本机目录 |
| flat | 基本名称功能(加了之后复制过去的文件不再层层目录,只有文件) |

#实例

ansible all -m fetch -a "src=/etc/hostname dest=/mnt" -k
ansible all -m fetch -a "src=/etc/hostname dest=/mnt"

六、file

#功能
设置文件的属性

常用参数
| path | 指定文件名称 |
| state | 指定操作状态 |
| touch    | 建立 |
| absent | 删除 |
| directory | 递归 |
| link | 建立链接 |
| hard | |
| mode | 设定权限 |
| owner | 设定文件用户 |
| group    | 设定文件组 |
| src | 源文件 |
| dest | 目标文件 |
| recurse=yes | 递归更改 |

#实例

ansible all -m file -a 'path=/mnt/test.sh state=touch'
ansible all -m file -a 'path=/mnt/test.sh state=absent'
ansible all -m file -a 'path=/mnt/westos state=directory'
ansible all -m file -a 'path=/mnt/westos state=directory mode=777 recurse=yes'
ansible all -m file -a 'src=/etc/passwd path=/mnt/passwd state=link'
ansible all -m file -a 'src=/mnt/file path=/mnt/westos1 state=hard'
ansible all -m file -a 'path=/mnt/file state=touch owner=lee group=westos mode=777'

七、unarchive

#功能
解压缩

常用参数
| copy | 默认为yes 从ansible主机复制文件到受控主机 |
| | 设定为no  从受控主机中寻找src源文件 |
| remote_src | 功能同copy且相反 |
| | 设定为yes 表示包在受控主机 |
| | 设定为no表示包在ansible主机 |
| src | 包路径,可以使ansible主机也可以使受控主机 |
| dest | 受控主机目录 |
| mode | 加压后文件权限 |

#实例

ansible all -m unarchive -a 'src=/mnt/etc.tar.gz dest=/mnt owner=lee' -k
ansible all -m unarchive -a "src=/opt/etc.tar.gz dest=/mnt copy=no"
ansible list1 -m unarchive -a 'src=/mnt/etc.tar.gz dest=/mnt remote_src=yes' ##包在受控主机 no的时候在ansible 主机

八、archive

#作用
压缩

常用参数
| path | 打包目录名称 |
| dest | 生成打包文件名称 |
| format | 打包格式 |
| owner | 指定文件所属人 |
| mode | 指定文件权限 |

#实例

ansible all -m archive -a 'path=/etc dest=/opt/etc.tar.gz format=gz owner=lee mode=700' -k

九、hostname

#作用
管理主机名称

#常用参数
name        ##指定主机名称

#实例

ansbile 172.25.1.10 -m hostname -a 'name=westos.westos.com'

十、cron

#作用
计划任务

常用参数
| minute    | 分钟 |
| hour | 小时 |
| day | 天 |
| month | 月 |
| weekday    | 周 |
| name | 任务名称 |
| job | 任务脚本或命令 |
| disabled | yes 禁用计划任务 |
| | no  启动计划任务 |
| state | absent 删除计划任务 |

#实例

ansible list1 -m cron -a "job='echo hello' name=test hour=5 user=westos"
ansible list1 -m cron -a "job='echo hello' name=test disabled=yes" 
ansible list1 -m cron -a "job='echo hello' name=test state=absent" 

十一、yum_repository

#作用
配置系统软件仓库源文件

常用参数
| name | 指定仓库名称 |
| baseurl    | 指定源路径 |
| description | 指定仓库描述 |
| file | 指定仓库文件名称 |
| enabled    | 仓库是否启用 |
| gpgcheck | 仓库是否检测gpgkey |
| state | 默认值present 建立 absent    为删除 |

#实例

ansible list1 -m yum_repository -a "file=linux name=AppStream description=AppSteam baseurl=http://172.25.1.1/linux/AppStream enabled=yes gpgcheck=no"
ansible list1 -m yum_repository -a "file=linux name=BaseOS description=BaseOS baseurl=http://172.25.1.1/linux/BaseOS enabled=yes gpgcheck=no"
ansible all -m yum_repository -a "name=AppStream  file=westos_test state=absent" -k

十二、dnf

#作用
管理系统中的dnf仓库及管理软件

常用参数
| name | 指定包 |
| state | 指定动作 |
| | present    安装 |
| | latest        更新 |
| | absent        删除 |
| list | 列出指定信息 |
| | httpd    |
| | installed |
| | all |
| | available |
| disable_gpg_check | 禁用gpgkey检测 |
| enablerepo | 指定安装包来源 |
| disablerepo | 禁用安装包来源 |

#实例

ansible all -m dnf -a "name=httpd state=latest"
ansible all -m dnf -a 'name="httpd,mariadb-server" state=present'
ansible all -m dnf -a 'name=httpd state=absent'
ansible all -m dnf -a 'name=httpd state=absent autoremove=no'
ansible all -m dnf -a 'name=httpd state=present enablerepo=AppStream'
ansible all -m dnf -a 'name="*" state=latest'
ansible all -m dnf -a 'name=http://172.25.1.1/software/wps-office-xxx.rpm state=present'
ansible all -m dnf -a 'name="@ Virtualization Tools" state=present'

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-rAmW0cKl-1712646024308)]

更多推荐