ITPub博客

首页 > 数据库 > 数据库开发技术 > Ansible模块:cron、Firewalld、Selinux模块深度解析

Ansible模块:cron、Firewalld、Selinux模块深度解析

原创 数据库开发技术 作者:yj11290301 时间:2024-05-08 18:00:00 0 删除 编辑


点击蓝字,立即关注

Ansible模块:cron、Firewalld、Selinux模块深度解析



cron模块、Firewalld模块、Selinux模块

前言


在Linux系统管理中,我们经常需要处理定时任务、配置防火墙规则和调整安全策略。Ansible作为一款自动化工具,其强大的模块功能可以帮助我们轻松完成这些任务。今天,我们就来深入探讨如何使用Ansible的cron模块、Firewalld模块和Selinux模块进行系统管理。



除了精彩的内容,我们还为大家精心准备了一份粉丝福利,记得查看文章末尾哦!


往期回顾

Ansible入门:解锁IT自动化的神器
Ansible入门:掌握Ansible命令,提升自动化运维效率
Ansible模块精通:提高效率必备技能
Ansible模块精通:掌握copy、fetch与file模块
Ansible自动化必备:三模块详解指南
Ansible自动化运维必备“四剑客”




cron模块




Ansible中的cron模块主要用于在远程主机上设置和管理cron作业,即实现定时执行任务的功能。该模块支持多种高级功能,如设置作业的环境变量、邮件通知等,为管理员提供了一个方便、灵活、高效的方式来管理远程主机上的定时任务。


示例


ansible -m cron -a 'name="Run test.sh at 1 AM" minute=0 hour=1 job="/root/test.sh" user=root state=present' 192.168.8.6

这条Ansible命令的含义是使用Ansible的cron模块在远程主机192.168.8.6上设置一个计划任务(cron job)。


 'name="Run test.sh at 1 AM"': 为这个cron作业设置一个描述性的名称,这样在crontab中更容易识别。这里的名称是“Run test.sh at 1 AM”,意味着这个作业是在凌晨1点运行test.sh脚本。


   minute=0: 指定cron作业在每小时的第0分钟执行。也就是说,作业将在每个小时的开始时刻执行。


  hour=1: 指定cron作业在凌晨1点执行。结合minute=0,这表示作业将在每天凌晨1点整执行。


  job="/root/test.sh": 指定要执行的命令或脚本。


  user=root: 指定运行这个cron作业的用户是root。


  state=present: 指定cron作业的状态应该是“存在”的。如果crontab中还没有这个作业,Ansible将会添加它;如果已经存在,Ansible将确保它的配置与命令中指定的配置一致。





ansible -m cron -a 'minute=*/2 job=/root/test.sh name=addstr' 192.168.8.6

这个命令是使用 ansible 来远程控制或管理远程服务器上的任务。


分解这个命令的各个部分:


  minute=*/2: 设置 cron 任务的分钟字段为每两分钟执行一次。*/2 表示每两个单位(在这种情况下是分钟)执行一次。


  name=addstr: 为这个 cron 任务设置一个名称,以便以后可以更容易地引用或查找它。


  192.168.8.6: 这是要管理的远程服务器的 IP 地址。

使用 Ansible 在 IP 地址为 192.168.8.6 的远程服务器上设置一个每两分钟执行一次的 cron 任务,该任务将执行 /root/test.sh 脚本,并且这个 cron 任务的名称是 addstr



ansible -m cron -a 'disabled=yes name=None job=/root/test.sh' 192.168.8.6

在远程机器 192.168.8.6 上禁用一个名为 None(但实际上你可能不需要这个名称,因为 Ansible 会为你生成一个)的 cron 任务,并且该任务的命令是 /root/test.sh



ansible -m cron -a 'name=my_cron_job state=absent' 192.168.8.6

用于删除远程服务器(IP 地址为 192.168.8.6)上名为 my_cron_job 的 cron 任务。

  name=my_cron_job: 指定要删除的 cron 任务的名称。

  state=absent: 指示 Ansible 删除该 cron 任务。

ansible -m cron -a 'disabled=yes job=/root/test.sh name=test1' 192.168.8.6

这个 Ansible 命令使用 cron 模块来在 IP 地址为 192.168.8.6 的远程服务器上配置一个 cron 任务,但通过设置 disabled=yes 参数来禁用这个任务。


ansible -m cron -a 'disabled=no job=/root/test.sh name=test1' 192.168.8.6

这个 Ansible 命令用于确保 IP 地址为 192.168.8.6 的远程服务器上有一个名为 test1 的 cron 任务被启用(如果它已存在)或者创建它(如果它不存在)

disabled=no: 确保 cron 任务被启用。

job=/root/test.sh: 指定要执行的命令或脚本。

name=test1: 给这个 cron 任务一个名字。



Firwalld模块


Ansible的Firewalld模块用于管理Linux系统上的Firewalld防火墙服务。

示例


ansible -m firewalld -a "port=123/tcp permanent=true state=enabled zone=public" 192.168.8.6 -K

使用firewalld模块来向IP地址为192.168.8.6的远程主机添加一个永久的TCP端口123到firewalld的public区域中。


ansible -m firewalld -a 'port=123/tcp state=enabled permanent=yes' 192.168.8.6

使用firewalld模块来向IP地址为192.168.8.6的远程主机添加一个TCP端口123到firewalld的某个区域中,并设置该规则为永久生效。

ansible -m firewalld -a 'port=123/tcp state=disabled permanent=yes' 192.168.8.6

试图使用firewalld模块来禁用IP地址为192.168.8.6的远程主机上的TCP端口123,并设置该规则为永久生效。


Selinux模块



Ansible的SELinux模块是一个用于管理服务器上的SELinux策略的功能强大的工具。SELinux(Security-Enhanced Linux)是一种安全保护机制,可以有效地保护系统免受恶意攻击。

示例


ansible -m selinux -a 'state=enforcing policy=targeted' 192.168.8.6

·  state=enforcing:

·  SELinux 有三种主要的工作状态:

· enforcing:SELinux 策略被强制执行,任何违反策略的行为都会被阻止并记录到日志中。

· permissive:SELinux 策略不会阻止任何行为,但会记录违反策略的行为到日志中。这通常用于测试新策略或调试系统。

· disabled:SELinux 被完全禁用。

state=enforcing 就是指将 SELinux 的状态设置为 enforcing,即强制执行策略。

·  policy=targeted:

·  SELinux 策略定义了哪些行为是被允许的,哪些是被禁止的。

·  policy=targeted 就是指将 SELinux 的策略设置为 targeted

ansible -m selinux -a 'state=disabled' 192.168.8.6

使用 ansible -m selinux -a 'state=disabled' 192.168.8.6 命令来禁用 SELinux




END



扫码关注我们




敬请关注博主,我们将持续为您带来云计算行业及更多前沿技术的最新信息,助您把握技术动态,领先一步!”


若您渴望深入了解云计算知识,或希望与云计算、运维、网络等领域的精英们共同交流学习,欢迎您私信博主,博主将为您提供宝贵的免费学习资料,并引荐您加入专业交流群。在这里,您可以与各路大咖切磋技艺,共享行业前沿资讯,一同成长进步。期待您的参与,让我们共同开启云计算领域的探索之旅!



微信号 | a2459155652
商务合作|学术交流|简历指导


扫码关注
云计算运维学习交流群





























































































独家粉丝福利大放送!


🌟亲爱的朋友们,你是否对云计算充满好奇,想要深入了解这一前沿科技?那么,现在就有一个绝佳的机会摆在你面前!🌟

💡**只要简单两步,你就能轻松获取珍贵的云计算资料一份!**💡

1️⃣ 立即关注博主:不错过任何一次与前沿科技近距离接触的机会!

2️⃣ 回复关键词“云计算资料”:打开通往云计算知识宝库的大门!

🎁这份资料包含了云计算的精华内容,无论是初学者还是专业人士,都能从中获得宝贵的启示和收获。🎁



点个「在看」再走吧!


原文作者:网络豆云计算学堂;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2023-09-15

  • 博文量
    76
  • 访问量
    33957