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)…...
MATLAB驱动的焊接机器人智能轨迹优化与动态仿真实践
1. 焊接机器人轨迹优化的技术挑战 焊接机器人在现代制造业中扮演着越来越重要的角色,但要让机器人焊得又快又好,可不是件简单的事。想象一下,你要用焊枪在复杂的三维曲面上画出一条完美的焊缝,既要保证焊接质量,又要避…...
视觉语言模型VLM高效部署:基于TensorRT-LLM的C++推理实践
1. 视觉语言模型VLM与TensorRT-LLM的黄金组合 视觉语言模型(VLM)这两年真是火得不行,它能让AI同时理解图片和文字,像人类一样看图说话。但实际部署时,很多团队都会遇到性能瓶颈——特别是用Python直接推理时࿰…...
高性能指纹特征提取开源方案:FingerJetFX OSE架构解析与实现指南
高性能指纹特征提取开源方案:FingerJetFX OSE架构解析与实现指南 【免费下载链接】FingerJetFXOSE Fingerprint Feature Extractor; the initial contribution by DigitalPersona is MINEX Compliant (SDK 3F). 项目地址: https://gitcode.com/gh_mirrors/fi/Fing…...
汽车电子测试人的 Prompt 工程
专栏:《AI 汽车电子测试实战》第 17 篇 作者:一线汽车电子测试工程师 适合人群:所有使用 AI 的测试工程师、想提升 AI 使用效率的测试人员开篇:为什么需要学 Prompt? 这是我上个月在某车企的 AI 培训项目中的真实经历。…...
如何快速找到领域内的核心论文?3 条最有效路径
在做科研文献检索时,很多研究者都会遇到同一个问题: 文献很多,但不知道哪些最重要。例如,当你在数据库中输入一个研究关键词时,检索结果可能会出现几百篇甚至上千篇论文。面对如此庞大的文献数量,很多人会产…...
告别‘阴阳屏’:深入MTK平台PQ底层,教你用代码实现多供应商屏幕色彩统一
MTK平台屏幕色彩统一实战:从Gamma参数调试到自动化加载 当你的项目同时采用三家不同供应商的屏幕模组时,用户滑动屏幕时可能看到三种截然不同的白色——这种"阴阳屏"现象在硬件采购多元化的今天越来越普遍。作为深耕显示领域多年的工程师&…...
从单片机到汽车座舱:ThreadX RTOS在嵌入式领域的真实应用场景与选型思考
ThreadX RTOS在汽车座舱与工业控制中的实战选型指南 当特斯拉Model S的17英寸触控屏在2012年首次亮相时,很少有人注意到支撑这套系统的幕后英雄——实时操作系统。如今,从智能手表到航空电子设备,实时操作系统(RTOS)已成为嵌入式世界的隐形支…...
保姆级教程:用SolidWorks和PCL把装配体转成PCD点云(附完整命令)
从SolidWorks装配体到PCL点云的完整转换指南 在工业设计、逆向工程和三维视觉处理领域,将CAD模型转换为点云数据是一个常见但容易出错的过程。许多工程师和研究人员在使用SolidWorks完成设计后,需要将装配体转换为点云格式(如PCD)…...
CodeSys WebVisu避坑指南:用three.js给机械臂做3D可视化,我踩过的8个坑
CodeSys WebVisu与three.js深度整合实战:机械臂3D可视化开发避坑手册 在工业自动化领域,机械臂的实时状态可视化一直是HMI开发中的难点与痛点。传统解决方案往往受限于渲染效果和交互灵活性,而基于WebGL的three.js技术栈恰好能弥补这些不足。…...
海康WEBSDK无插件版实战:零基础构建WEB端网络摄像机实时监控系统
1. 环境准备:5分钟搞定基础配置 第一次接触海康WEBSDK无插件版时,我也被那些专业术语吓到过。但实际操作后发现,只要准备好三样东西就能开工:一台能联网的电脑、海康网络摄像机、以及从官网下载的开发包。这里分享几个新手容易踩的…...
