Ansible——cron模块
目录
参数总结
示例1:创建一个定时任务
示例2:删除一个定时任务
示例3:每周一早上 3 点清理临时文件
示例4:每小时运行一次日志轮转
示例5:为指定用户添加一个定时任务
Playbook (YAML 格式) 中管理定时任务。
示例1:创建一个定时任务
示例2:删除一个定时任务
示例3:每周一早上 3 点清理临时文件
示例4:每小时运行一次日志轮转
示例5:为指定用户添加一个定时任务
完整的 Playbook 示例
cron 模块是 Ansible 用于管理定时任务的模块。通过 cron 模块,我们可以方便地创建、修改和删除 Unix 系统上的定时任务记录。默认情况下每个任务都会被添加到用户的 crontab 文件中,这些任务会在同一个文件里。Crontab 文件是以用户为单位管理的,每个用户都有自己的 crontab 文件。默认是 root 用户。
参数总结
-
name:- 描述:cron 作业的名称。
- 类型:字符串
- 必需:是
-
minute:- 描述:cron 作业的分钟部分。
- 类型:字符串
- 默认值:
*
-
hour:- 描述:cron 作业的小时部分。
- 类型:字符串
- 默认值:
*
-
day:- 描述:cron 作业的日部分。
- 类型:字符串
- 默认值:
*
-
month:- 描述:cron 作业的月部分。
- 类型:字符串
- 默认值:
*
-
weekday:- 描述:cron 作业的星期部分。
- 类型:字符串
- 默认值:
*
-
job:- 描述:要执行的命令或脚本。
- 类型:字符串
- 必需:是
-
user:- 描述:执行 cron 作业的用户。
- 类型:字符串
- 默认值:root
-
state:- 描述:cron 作业的状态。
- 可选值:
present(默认,确保作业存在)、absent(确保作业不存在) - 类型:字符串
示例1:创建一个定时任务
添加一个每日凌晨 2 点运行的备份脚本任务:
ansible all -m cron -a "name='daily backup' minute='0' hour='2' job='/usr/local/bin/backup.sh'"
示例2:删除一个定时任务
删除名为 "daily backup" 的定时任务:
ansible all -m cron -a "name='daily backup' state='absent'"
示例3:每周一早上 3 点清理临时文件
添加一个每周一早上 3 点运行的临时文件清理任务:
ansible all -m cron -a "name='weekly temp files cleanup' minute='0' hour='3' weekday='1' job='/usr/bin/find /tmp -type f -atime +7 -delete'"
示例4:每小时运行一次日志轮转
添加一个每小时运行一次的日志轮转任务:
ansible all -m cron -a "name='hourly log rotation' minute='0' job='/usr/sbin/logrotate'"
示例5:为指定用户添加一个定时任务
为 username 用户添加一个每日凌晨 1 点运行的维护脚本任务:
ansible all -m cron -a "name='daily maintenance' minute='0' hour='1' job='/usr/local/bin/maintenance.sh' user='username'"
Playbook (YAML 格式) 中管理定时任务。
示例1:创建一个定时任务
下面的 Playbook 将在所有主机上添加一个每日凌晨 2 点运行备份脚本的任务:
---
- name: Setup cron job for daily backuphosts: alltasks:- name: Add daily backup cron jobcron:name: "daily backup"minute: "0"hour: "2"job: "/usr/local/bin/backup.sh"
示例2:删除一个定时任务
下面的 Playbook 将在所有主机上删除名为 "daily backup" 的定时任务:
---
- name: Remove the daily backup cron jobhosts: alltasks:- name: Remove daily backup cron jobcron:name: "daily backup"state: absent
示例3:每周一早上 3 点清理临时文件
这个 Playbook 将在每周一早上 3 点清理临时文件:
---
- name: Setup cron job to clean temp files weeklyhosts: alltasks:- name: Add weekly temp files cleanup cron jobcron:name: "weekly temp files cleanup"minute: "0"hour: "3"weekday: "1" # 0 is Sunday, 1 is Monday, etc.job: "/usr/bin/find /tmp -type f -atime +7 -delete"
示例4:每小时运行一次日志轮转
这个 Playbook 将在所有主机上添加每小时运行一次日志轮转的任务:
---
- name: Setup cron job for hourly log rotationhosts: alltasks:- name: Add hourly log rotation cron jobcron:name: "hourly log rotation"minute: "0"job: "/usr/sbin/logrotate"
示例5:为指定用户添加一个定时任务
这个 Playbook 将为特定用户添加一个每日凌晨 1 点运行的维护脚本任务:
---
- name: Setup cron job for user-specific taskhosts: alltasks:- name: Add daily maintenance job for specific usercron:name: "daily maintenance"minute: "0"hour: "1"job: "/usr/local/bin/maintenance.sh"user: "username"
完整的 Playbook 示例
这是一个完整的 Playbook 示例,它展示了如何在同一个 Playbook 中添加、修改和删除多个定时任务:
---
- name: Cron jobs managementhosts: alltasks:- name: Add daily backup cron jobcron:name: "daily backup"minute: "0"hour: "2"job: "/usr/local/bin/backup.sh"- name: Add weekly temp files cleanup cron jobcron:name: "weekly temp files cleanup"minute: "0"hour: "3"weekday: "1"job: "/usr/bin/find /tmp -type f -atime +7 -delete"- name: Add hourly log rotation cron jobcron:name: "hourly log rotation"minute: "0"job: "/usr/sbin/logrotate"- name: Remove old backup cron jobcron:name: "old backup job"state: absent- name: Add daily maintenance job for specific usercron:name: "daily maintenance"minute: "0"hour: "1"job: "/usr/local/bin/maintenance.sh"user: "username"相关文章:
Ansible——cron模块
目录 参数总结 示例1:创建一个定时任务 示例2:删除一个定时任务 示例3:每周一早上 3 点清理临时文件 示例4:每小时运行一次日志轮转 示例5:为指定用户添加一个定时任务 Playbook (YAML 格式) 中管理定时任务。 …...
保存图片奇怪的bug
今天发现一个奇怪的bug 这个的dpi是100de ,但是我取完切片之后,发现这个结果就变了...
【Go语言精进之路】构建高效Go程序:了解map实现原理并高效使用
🔥 个人主页:空白诗 🔥 热门专栏:【Go语言精进之路】 文章目录 引言一、什么是map1.1 map的基本概念与特性1.2 map的初始化与零值问题1.3 map作为引用类型的行为 二、map的基本操作2.1 插入数据2.2 获取数据个数2.3 查找和数据读取…...
【机器人和人工智能——自主巡航赛项】进阶篇
文章目录 案例要求创建地图rviz仿真 保存地图坐标点定位识别训练主逻辑理解语音播报模块匹配二维码识别多点导航讲解视频其余篇章 案例要求 创建地图 ./1-gmapping.sh 把多个launch文件融合在sh文件里面 rviz仿真 rviz是rose集成的可视化界面,查看机器人的各项数…...
[大师C语言(第二十五篇)]C语言字符串探秘
引言 字符串是编程中不可或缺的基本数据类型之一,它用于表示和操作文本数据。在C语言中,字符串以一种独特的方式实现,与许多其他编程语言的处理方式不同。本文将深入探讨C语言字符串背后的技术,帮助你更好地理解和应用字符串。 …...
xLua(一) 环境安装笔记
为了方便查阅记录一下xLua的安装地址及方法 1.登录地址下载: https://github.com/Tencent/xLua 2.解压文件 将文件中的这些内容拷贝到项目中的Asset文件夹中 注意 : 工程项目路径不得含有中文 3.将Tools复制到Asset同级目录下 4.导入后会发现有Bug,需要导入工程 5.还有另…...
Python基础教程(十一):数据结构汇总梳理
💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝Ὁ…...
制造型企业图纸泄露问题,如何从根源解决核心文件资料泄露问题?
制造型企业最核心重要的文件当然是图纸,图纸在制造型企业中起到关键主导地位,如果图纸泄露与研发性企业源代码被泄露一样的严重,制造型企业如何保护核心图纸不被外泄是企业在日常经营过程中的重要组成部分,现在有很多防止泄露的产…...
英伟达最新GPU和互联路线图分析
Nvidia在计算、网络和图形领域独树一帜,其显著优势在于雄厚的资金实力及在生成式人工智能市场的领先地位。凭借卓越的架构、工程和供应链,Nvidia能够自由实施创新路线图,引领行业未来。 到 21 世纪,Nvidia 已经是一个非常成功的创…...
Github 2024-06-10 开源项目日报 Top10
根据Github Trendings的统计,今日(2024-06-10统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目2Go项目2PHP项目1Blade项目1TypeScript项目1Lua项目1Dart项目1Swift项目1Cuda项目1Python项目1MDX项目1Ventoy: 100%开源的可启动USB解决方…...
前后端分离项目中Spring Boot返回的时间与前端相差8个小时
概述 今天在做一个前后端分离项目时,发现从后端获取的时间与从数据库获取的时间相差八个小时,最终排查后发现由于Springboot使用本地时区导致,修改SpringBoot时区后解决 环境 MySQL8SpringBoot 原因排查 发现从后端获取的数据总是比前端快八个小时 …...
stm32MP135裸机编程:使用USB/UART烧录程序到SD卡并从SD卡启动点亮一颗LED灯
0 参考资料 轻松使用STM32MP13x - 如MCU般在cortex A核上裸跑应用程序.pdf STM32CubeProgrammer v2.16.0 烧录需要的二进制文件1 烧录到SD卡需要哪些文件 参考《轻松使用STM32MP13x - 如MCU般在cortex A核上裸跑应用程序》,烧录需要的SD卡文件如下: &a…...
【NoSQL数据库】Redis Cluster集群(含redis集群扩容脚本)
Redis Cluster集群 Redis ClusterRedis 分布式扩展之 Redis Cluster 方案功能数据如何进行存储 redis 集群架构集群伸缩向集群中添加一个新的master节点,并向其中存储 num10 .脚本对redis集群扩容缩容,脚本参数为redis集群,固定从6001移动200…...
重邮计算机网络803-(2)物理层
一.物理层 1.介绍 物理层的主要任务描述为确定与传输媒体的接口的一些特性,即: ①机械特性 指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。 ②电气特性 指明在接口电缆的各条线上出现的电压的范围。 ③功能特性 指明某条线上…...
uniapp使用webview内嵌H5的注意事项
一、描述 uniapp项目中构建app,需要内嵌H5页面,在使用webview时,遇到了以下几个问题: 内嵌H5,默认全屏显示;内嵌页面遮挡住了app的自定义tabbar组件;样式修改无效; 二、解决方案&a…...
现代 C++的高效并发编程模式
现代C提供了许多高效的并发编程模式,以满足日益增长的多核和分布式系统的需求。以下是一些常用的高效并发编程模式: 异步编程:使用std::async来创建异步任务,可以在后台执行任务,将结果返回给调用者。 并行编程&#…...
汇编语言作业(五)
目录 一、实验目的 二、实验内容 三、实验步骤以及结果 四、实验结果与分析 五、 实验总结 一、实验目的 1.熟悉掌握汇编语言的程序结构,能正确书写数据段、代码段等 2,利用debug功能,查看寄存器(CS,IP,AX,DS..)及数据段的…...
收音机的原理笔记
1. 收音机原理 有线广播:我们听到的声音是通过空气振动进行传播,因此可以通过麦克风(话筒)将这种机械振动转换为电信号,传到远处,再重新通过扬声器(喇叭)转换为机械振动,…...
排序算法案例
排序算法概述 排序算法是计算机科学中的一个重要主题,用于将一组数据按特定顺序排列。排序算法有很多种,每种算法在不同情况下有不同的性能表现。不同的排序算法适用于不同的场景和数据特征。在选择排序算法时,需要考虑数据规模、数据分布以…...
时间序列评价指标
评价指标 均方误差( M S E MSE MSE) 定义:预测值与实际值之间差异的平方和的平均值。公式: ( M S E 1 n ∑ i 1 n ( y i − y ^ i ) 2 ) (MSE \frac{1}{n}\sum_{i1}^{n}(y_i - \hat{y}_i)^2) (MSEn1∑i1n(yi−y^i)…...
别再手动调公式了!用Pandoc 2.19.2 + ChatGPT搞定英文论文润色,格式稳如老狗
科研写作效率革命:Pandoc 2.19.2与AI协同工作流全解析 数学公式在学术写作中如同精密的齿轮,一旦错位就会导致整篇论文运转失灵。每当看到同行们花费数小时手动调整Word公式格式时,我总想起自己那段被Equation Editor折磨的岁月——直到发现P…...
从零到量产:一个嵌入式工程师的i.MX8MM实战笔记(Uboot、Yocto、Android 11全流程)
从零到量产:一个嵌入式工程师的i.MX8MM实战笔记(Uboot、Yocto、Android 11全流程) 第一次拿到i.MX8MM开发板时,我盯着那块巴掌大的电路板发了十分钟呆——作为团队里唯一有过嵌入式Linux经验的工程师,这次量产项目的重…...
【408考研·OS】核心考点:中断分类、线程模型 (KLT/ULT) 与调度算法方法论总结
0. 前言 在操作系统(OS)的复习中,中断处理机制、线程的实现方式以及调度算法的性能分析是三大基础命题点。本文基于今日学习笔记,结合考研真题考点,对这些知识进行深度还原与逻辑梳理。一、 中断与异常的分类与底层支持…...
Docker容器化入门:从核心概念到实战部署全解析
1. 从零到一:理解容器化与Docker的核心价值如果你是一名开发者,最近几年肯定没少听到“Docker”这个词。它就像一阵技术旋风,席卷了从个人项目到企业级部署的每一个角落。一开始,你可能会觉得困惑:这到底是个什么玩意儿…...
2026年天津光伏储能技术发展现状与前景探索
2026年天津光伏储能技术发展现状与前景探索现状分析截至2026年,天津市在光伏储能领域取得了显著成就。随着国家对清洁能源发展的大力支持及“双碳”目标的推进,天津已形成了一条从硅材料、硅片到电池组件较为完整的光伏产业链,并且在储能设施…...
影刀RPA打造店群自动化:详解多浏览器并发,为TEMU与拼多多构建“平行作业空间”
大家好,我是林焱,一名专注电商底层架构设计与 RPA 自动化定制的独立开发者。 在电商圈,所有深谙赚钱之道的卖家都明白一个核心法则:单店是用来测试盈利模型的,店群才是用来收割规模利润的。 当你在拼多多的白热化竞争…...
手把手教你用SideQuest给Quest 2安装免费游戏(附4000个游戏资源包下载)
Quest 2第三方游戏安装全指南:从SideQuest入门到资源管理 如果你刚拿到Quest 2,可能会对官方商店里有限的免费内容感到失望。别担心,今天我要分享的是如何通过SideQuest解锁海量第三方游戏资源——这可能是让你的VR设备价值翻倍的最佳方式。 …...
2026年如何部署Hermes Agent/OpenClaw?阿里云部署指南及Coding Plan配置解析
2026年如何部署Hermes Agent/OpenClaw?阿里云部署指南及Coding Plan配置解析 。OpenClaw作为阿里云生态下新一代的开源AI自动化代理平台,曾用名Moltbot/Clawdbot,凭借“自然语言交互自动化任务执行大模型智能决策”的核心能力,正在…...
稀疏检索技术解析:从TF-IDF到混合架构实战
1. 稀疏检索技术的前世今生稀疏检索(Sparse Retrieval)作为信息检索领域的经典方法,在过去二十年里经历了从统治地位到边缘化,再到复兴的戏剧性转折。我第一次接触这项技术是在2012年参加TREC会议时,当时神经网络方法刚…...
Universal Split Screen:单机多人游戏解决方案的技术实现与应用
Universal Split Screen:单机多人游戏解决方案的技术实现与应用 【免费下载链接】UniversalSplitScreen Split screen multiplayer for any game with multiple keyboards, mice and controllers. 项目地址: https://gitcode.com/gh_mirrors/un/UniversalSplitScr…...
