当前位置: 首页 > news >正文

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 用户。

参数总结

  1. name:

    • 描述:cron 作业的名称。
    • 类型:字符串
    • 必需:是
  2. minute:

    • 描述:cron 作业的分钟部分。
    • 类型:字符串
    • 默认值:*
  3. hour:

    • 描述:cron 作业的小时部分。
    • 类型:字符串
    • 默认值:*
  4. day:

    • 描述:cron 作业的日部分。
    • 类型:字符串
    • 默认值:*
  5. month:

    • 描述:cron 作业的月部分。
    • 类型:字符串
    • 默认值:*
  6. weekday:

    • 描述:cron 作业的星期部分。
    • 类型:字符串
    • 默认值:*
  7. job:

    • 描述:要执行的命令或脚本。
    • 类型:字符串
    • 必需:是
  8. user:

    • 描述:执行 cron 作业的用户。
    • 类型:字符串
    • 默认值:root
  9. 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基础教程(十一):数据结构汇总梳理

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…...

制造型企业图纸泄露问题,如何从根源解决核心文件资料泄露问题?

制造型企业最核心重要的文件当然是图纸,图纸在制造型企业中起到关键主导地位,如果图纸泄露与研发性企业源代码被泄露一样的严重,制造型企业如何保护核心图纸不被外泄是企业在日常经营过程中的重要组成部分,现在有很多防止泄露的产…...

英伟达最新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. 收音机原理 有线广播:我们听到的声音是通过空气振动进行传播,因此可以通过麦克风(话筒)将这种机械振动转换为电信号,传到远处,再重新通过扬声器(喇叭)转换为机械振动&#xff0c…...

排序算法案例

排序算法概述 排序算法是计算机科学中的一个重要主题,用于将一组数据按特定顺序排列。排序算法有很多种,每种算法在不同情况下有不同的性能表现。不同的排序算法适用于不同的场景和数据特征。在选择排序算法时,需要考虑数据规模、数据分布以…...

时间序列评价指标

评价指标 均方误差( 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​)…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言:多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...