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)…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...