Linux日常运维-任务计划(crontab)

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

本小章内容就是Linux进阶部分的日常运维部分,掌握这些日常运维技巧或者方法在我们的日常运维过程中会带来很多方便。主要从以下几个部分来讲解:

Linux日常运维-主机名&hosts

Linux日常运维-history

Linux日常运维-SSHD(一)

Linux日常运维-SSHD(二)

Linux日常运维-ENV(一)

Linux日常运维-ENV(二)

Linux日常运维-任务计划cronttab(本章节)

当我们有些任务需要在凌晨执行或者其他人工不方便执行的时间去执行的时候,应该怎么办呢?这里就引入了Linux一个非常重要的特性就是任务计划,它可以按照我们指定时间去执行对应的任务。

在Linux中,可以使用crontab来设置和管理任务计划。crontab是一个用于定期执行命令或脚本的工具,可以按照指定的时间间隔自动运行任务。

以下是一些常见的使用crontab来设置任务计划的步骤:

查看现有的crontab任务:使用以下命令可以查看当前用户的crontab任务列表:

crontab -l

编辑或创建新的crontab任务:使用以下命令可以编辑或创建一个新的crontab任务:

crontab -e
 

在打开的编辑器中,每行代表一个任务计划,格式如下:

* * * * * command
 

例如,如果要在每天的早上8点运行一个脚本,可以使用以下行:

0 8 * * * /path/to/script.sh
 

编辑完成后,保存并关闭编辑器,这里的操作方式和用vi编辑文件是一样的效果。

删除crontab任务:如果要删除当前用户的所有crontab任务,可以使用以下命令:

#一般用的比较少,常用的是删除或者注释任务crontab -r

注意:这将删除当前用户的所有crontab任务,请谨慎使用。

    • 第一个星号表示分钟(0-59)

    • 第二个星号表示小时(0-23)

    • 第三个星号表示日期(1-31)

    • 第四个星号表示月份(1-12)

    • 第五个星号表示星期几(0-7,其中0和7都表示星期日)

这些是设置和管理任务计划的基本步骤。可以根据具体的需求调整crontab任务的设置。

优先级说明

这五个时间单位的优先级从左到右依次降低。根据这五个时间单位的取值,可以设置不同的定时任务。例如:

  • 如果在分钟、小时、日期、月份和星期几的位置上都使用了星号(*),表示任务将在每分钟都执行。

  • 如果在分钟位置上使用了特定的数字,而其他位置上使用了星号(*),表示任务将在每小时的特定分钟执行。

  • 如果在小时位置上使用了特定的数字,而其他位置上使用了星号(*),表示任务将在每天的特定小时执行。

  • 如果在日期位置上使用了特定的数字,而其他位置上使用了星号(*),表示任务将在每月的特定日期执行。

  • 如果在月份位置上使用了特定的数字,而其他位置上使用了星号(*),表示任务将在每年的特定月份执行。

  • 如果在星期几位置上使用了特定的数字,而其他位置上使用了星号(*),表示任务将在每周的特定星期几执行。

请注意,星号(*)表示通配符,意味着该时间单位的所有取值都适用。而特定的数字表示具体的取值,例如1代表1号,2代表2点等。

根据具体需求,可以根据时间单位的优先级来设置crontab任务的时间间隔。请确保设置正确的时间间隔,以确保任务按预期执行。

每分钟,用 *

每2分钟,则用*/2

每5分钟,则用*/5

其他依次类推,绝大部分任务都是在分钟和小时2个参数进行调整。

主要用途

1.定时切割日志,删除文件

nginx等web服务器的日志轮询,然后删除过期的日志等

#凌晨1点执行,可以跟具体的命令,也可以跟脚本路径,注意环境变量有效性* 1 * * * * Command

2.检查进程存活

常用于各种服务,比如zk,kafka,等中间件的进程监控,如果不正常则执行启动​​​​​​​

#每2分钟检查一次进程是否正常,如果不正常则执行后续启动或其他动作*/2 * * * * Command

3.定期备份

用于定期备份数据库或者备份业务文件​​​​​​​

#每天凌晨5点做备份数据库,或者同步文件操作* 5 * * * Command

总结

1.Linux任务计划的规则其实很简单,只要理解到规则就可以根据自己的需要编写对应的规则。对应的规则可以直接是命令,也可以是脚本。

2.Linux任务计划是分用户的,尤其是多用户运维的服务器。

3.Linux任务计划最小粒度是分钟,如果需要更精细的角度来执行,可以通过把命令放置到脚本里面,然后通过脚本来实现秒级的粒度的控制。

4.在前面讲文件搜索的时候,我们讲过Linux有自带的几个目录,里面放置的就是根据单词提示的执行任务。这里的任务,通过crontab -l命令都是看不到的。如果有任务计划未按照预期执行,可以检查cron.deny 。​​​​​​​

[root@localhost ~]# ls /etc/|grep croncron.d/       //系统部分自带会将任务放置在里面cron.daily/   //每天执行cron.deny     //不允许执行任务计划的用户cron.hourly/  //每小时执行cron.monthly/ //每月执行crontab       //直接编辑就可以执行cron.weekly/  //每周执行

图片

关注微信公众号《运维小路》获取更多内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/871054.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微信云开发云存储 下载全部文件

一、安装 首先按照这个按照好依赖,打开cmd 安装 | 云开发 CloudBase - 一站式后端云服务 npm i -g cloudbase/cli 安装可能遇到的问题 ‘tcb‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。-CSDN博客 二、登录 在cmd输入 tcb login 三、…

如何将CSDN文章导出为pdf文件

第一步: 打开想要导出的页面,空白处点击鼠标右键⇒点击“检查”或“check”,或直接在页面按F12键。 第二步: 复制以下代码粘贴到控制台,并按回车。 若提示让输入“允许粘贴”或“allow pasting”,按提示…

win10安装docker,打包python、java然后centos执行镜像

一、win10安装Docker Desktop docker官网(需要魔法)下载:https://www.docker.com/products/docker-desktop/ 安装方法参考:https://blog.csdn.net/beautifulmemory/article/details/137970794 下载完毕后界面安装,不勾…

CPU内部单总线数据通路各阶段的微操作序列利控制信号

1.内部总线与系统总线 内部总线是指同一部件,如CPU内部连接各寄存器及运算部件之间的总线; 系统总线是指同一台计算机系统的各部件,如CPU、内存、通道和各类/0接口间互相连接的总线。 2.寄存器之间数据传送 比如把PC内容送至MAR&#xff…

2024开源资产管理系统推荐 8款免费开源IT资产管理系统/软件

开源资产管理系统 开源资产管理系统是帮助企业管理、跟踪和优化其资产的强大工具。这些系统能够自动记录资产的详细信息,如采购日期、使用情况、维护记录等,从而实现资产的全生命周期管理。企业可以通过这些系统优化资产使用效率,减少资产闲…

什么是视频比特率?与视频时长是什么关系

​ ‌比特率是指单位时间内传输或处理的比特的数量,单位为‌bps(‌bit per second)。‌ 比特率经常用于描述在电信和计算领域中数据传输的速度,也可以作为衡量音频和视频文件数据率的指标。比特率越高,传送的数据越大,音频或视频…

345345

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

LevelDB源码分析(一)安装编译和简单Demo

初识LevelDB 认识LevelDB & 源码下载编译Mac源码下载和编译运行 认识LevelDB & 源码下载编译 LevelDB是 Google 编写的key-value存储库,提供从Key到Value的有序映射。 LevelDB的代码量相比其他开源项目较少,除了测试之外大约有不到两万行代码。 …

Mantel Test分析与绘图

目录 1.前言 2.步骤 3.在R语言中,除了mantel_test函数,还有其他几个工具和方法可以用于进行Mantel Test分析: 4.利用ggcor包在进行Mantel Test分析 5.使用ggcor包进行Mantel Test分析 6.两个距离矩阵的行名和列名不完全相同的处理方法 …

ES 模糊查询 wildcard 的替代方案探索

一、Wildcard 概述 Wildcard 是一种支持通配符的模糊检索方式。在 Elasticsearch 中,它使用星号 * 代表零个或多个字符,问号 ? 代表单个字符。 其使用方式多样,例如可以通过 {"wildcard": {"field_name": "value&…

【软件测试】功能测试理论基础

目录 项目的测试流程🏴 需求评审 评审形式 测试人员在需求评审中职责 测试计划与方案 测试计划 问题 测试方案🏴 测试计划与方案的对比 功能测试设计🏴 测试设计的步骤 项目的测试流程🏴 作用: 有序有效开展…

MT2523AS 原边10瓦无外围方案PCB设计要点

MT2523AS 是自供电原边反馈5V2A(10瓦)电源芯片。MT2523AS 内置功率三极管,采用脉冲频率调制(PFM)建立非连续导电模式(DCM)的反激式电源,外围设计极简化。MT2523AS 具有可变原边峰值电流,通过最大…

编程中数据字典介绍

目录 第一章、快速了解数据字典1.1)数据字典介绍1.2)主动数据字典1.2.1)主动数据字典对表字段的描述1.2.2)主动数据字典对表索引的描述1.2.3)主动数据字典对表外键的描述1.3)被动数据字典1.4)数…

CompletableFuture-应用

可以看到CompletableFuture实现了CompletionStage 和Future的两个接口。CompletionStage提供了任务之间的衔接能力,而Future则是经常用于阻塞获取结果。 CompletableFuture 的内部使用了基于 ForkJoinPool 的线程池,这种线程池可以高效地调度和执行任务…

WPF如何获取DataGrid的选中行

在DataGrid中加入这一行 <MouseBindingCommand"{Binding OpenWindowCommand}"CommandParameter"{Binding ElementNameNewPlanDataGrid, PathSelectedItem}"Gesture"LeftDoubleClick" /> </DataGrid.InputBindings> 然后ViewModel中…

与AI共创未来:Blackbox AI让工作更轻松

一、前言 还在为如何提升工作效率而烦恼吗&#xff1f;让 Blackbox AI 帮助你解锁全新生产力&#xff01;Blackbox AI 是一个功能强大的AI平台&#xff0c;集成了多种智能GPT对话助手和智能代码插件&#xff0c;专为满足现代工作的多样需求而设计。不管是在处理文本生成、数据…

ubuntu查看CPU、内存、硬盘

1、查看CPU cat /proc/cpuinfo 我这台机器CPU是2核&#xff0c;所以这里是2核 或者使用如下命令也可以查看 lscpu 查看CPU使用率 top 2、查看内存 查看内存信息&#xff1a; free -h 查看内存使用情况&#xff1a; vmstat 3、硬盘 查看硬盘使用情况&#xff1a; df -…

用IDEA创建Servlet实例

一.首先&#xff0c;Servlet是什么&#xff1f; &#x1f379;参考博文&#xff1a;servlet介绍 &#x1f387;参考视频&#xff1a;servlet原理 &#x1f340;参考网站&#xff1a;servlet教程 下图的web容器可以理解为tomcat服务器&#xff0c;servlet就是用来处理w…

计算机毕业设计 公寓出租系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

SQL— DQL语句学习【后端 11】

DQL语句 引言 DQL&#xff08;Data Query Language&#xff0c;即数据查询语言&#xff09;是SQL&#xff08;Structured Query Language&#xff09;中用于从数据库中检索数据的重要部分。在数据库管理中&#xff0c;DQL语句是日常工作中最常用的工具之一。通过DQL&#xff0…