Linux:如何使用 Crontab
今天想了解一下Linux Crontab。嗯,在Windows上,可以看做和定时任务差不多。
“要在特定时间进行特定工作。”
如果是这样,可以使用crontab,轻松使用Linux。
1. 基本 (crontab basic)
先看一下基本的crontab使用方法吧。在Linux shell中输入如下内容:
$ crontab -e
那么可以编辑的地方就会加载,这里就是可以设置crontab的地方。
在这里输入各种crontab指令后,输入colon(:)后输入wq,更新crontab吧。
相反,如果您想查看当前crontab中包含哪些内容,请输入以下内容:
$ crontab -l
那么就像用cat指令读取文件一样,以标准输出显示crontab内容。
但是(虽然几乎没有)如果想删掉crontab呢?
在Linux Shell中输入如下内容:
$ crontab -r
这样就学会了crontab的基本设置、确认和删除。那么在crontab上注册一个Cron,实践一下吧。
如下所示,输入crontab-e后,请输入以下内容。保存时,像vi一样输入Colon(:)后更新为wq即可。
* * * * * ls -al
有五颗星,还有后面写着命令语,这是基本使用方法。当然,不仅可以使用ShellScript,还可以使用Linux命令。这里用ShellScript的方法进行了说明。
如果有五颗星,就会"每分钟运行一次",让我们仔细看看星星指的是什么吧。
2. 周期设定
2.1 基本格式
一个典型的crontab文件由五或六个字段组成,每个字段代表一个时间单位,后面跟着要运行的命令。
* * * * * command to execute
- - - - -
| | | | |
| | | | +----- 星期中星期几 (0 - 7) (星期天为0或7)
| | | +------- 月份 (1 - 12)
| | +--------- 一个月中的第几天 (1 - 31)
| +----------- 小时 (0 - 23)
+------------ 分钟 (0 - 59)
2.2 字段详解
*:代表该字段的所有可能值。例如,第一个星号代表每分钟。,:用于分隔列表中的项目。例如,1,3,5代表第1分钟、第3分钟和第5分钟。-:用于定义范围。例如,1-5代表从第1分钟到第5分钟。/:用于指定步长值。例如,*/2代表每隔两分钟。
2.3 示例
*/15 * * * * command:每15分钟执行一次命令。0 8 * * * command:每天早上8点执行一次命令。0 8 1 * * command:每月1日的早上8点执行一次命令。0 8 * * 5 command:每个星期五的早上8点执行一次命令。
2.4 特殊字符
@reboot:指定命令在每次重启时执行。@yearly:等同于0 0 1 1 *,每年运行一次。@annually:同@yearly。@monthly:等同于0 0 1 * *,每月运行一次。@weekly:等同于0 0 * * 0,每周运行一次。@daily:等同于0 0 * * *,每天运行一次。@hourly:等同于0 * * * *,每小时运行一次。
2.6 注意事项
- 命令应该使用绝对路径。
crontab环境变量和登录shell可能不同,因此建议在命令中使用完整的路径。crontab默认不会发送邮件,除非你在命令后面加上> /dev/null 2>&1来忽略输出。- 确保服务是启动的,通常使用
systemctl start cron或service cron start。
3. 按周期分类的示例
3.1 每分钟运行
# 每分钟 执行 test.sh
* * * * * /home/script/test.sh
3.2 特定时间执行
# 每周 星期五 上午 5点 45分 执行 test.sh
45 5 * * 5 /home/script/test.sh
3.3 反复执行
# 每日 每时 0分, 20分, 40分 执行 test.sh
0,20,40 * * * * /home/script/test.sh
3.4 范围执行
# 每日 1点0分到30分 每分钟 执行 test.sh
0-30 1 * * * /home/script/test.sh
3.5 间隔执行
# 每间隔 10分钟 执行 test.sh
*/10 * * * * /home/script/test.sh
3.6 稍微复杂执行
# 5日到6日 2点,3点,4点 每10分 执行 test.sh
*/10 2,3,4 5-6 * * /home/script/test.sh
4. 使用小贴士
4.1 一行只写一个命令
# 错误的例子
* * * 5 5
/home/script/test.sh
# 好的例子
* * * 5 5 /home/script/test.sh
4.2 加个注释
# 注释 #
#--------------------#
# 这是注释 #
#--------------------#
# 输入,后面出现的全部文字都可以进行注释。
5. 日志 (cron logging)
使用crontab定期处理作业是很好的,但有时想留下有关处理明细的日志。那个时候像下面一样写一下:
* * * * * /home/script/test.sh > /home/script/test.sh.log 2>&1
如上填写,每分钟更新test.sh.log文件,以了解作业内容是如何处理的。如果删除2>&1,ShellScript只显示标准输出内容。2>&1就在这里确认吧。
但是,如果这个运行太频繁,而且需要持续加载,所以要继续保留日志的话,输入如下:
* * * * * /home/script/test.sh >> /home/script/test.sh.log 2>&1
那么就可以确认日志一直在累积。但是,如果日志堆积过多,会影响Linux的性能,因此需要偶尔空出或重新创建文件的意识。
相反,日志是为不要的cron输入如下内容:
* * * * * /home/script/test.sh > /dev/null 2>&1
6. 备份 (crontab backup)
好,如果使用 crontab-r或者不小心把crontab目录弄丢,现有的crontab明细都没了,真的会很慌张的。所以让我们定期备份crontab吧。 备份有如下方法。
crontab -l > /home/bak/crontab_bak.txt
把crontab的内容做成txt文件保存。好,这个也能实现自动化吗?
50 23 * * * crontab -l > /home/bak/crontab_bak.txt
这样做就可以了吧?这是每天晚上11点50分备份crontab的Cron指令。😃
简单地了解了一下crontab。如果有需要添加的内容或与实际不符的部分,请留言。
相关文章:
Linux:如何使用 Crontab
今天想了解一下Linux Crontab。嗯,在Windows上,可以看做和定时任务差不多。 “要在特定时间进行特定工作。” 如果是这样,可以使用crontab,轻松使用Linux。 1. 基本 (crontab basic) 先看一下基本的crontab使用方法吧。在Linu…...
AI模型:追求全能还是专精?-- 之7 智能工厂程序设计
Q1、感觉上上面离我想做的事情却来越远了。我们跳过讨论直接进入程序设计吧。StringProcessor(文字/信息/数字)抽象代理工厂-创造 Universal given时空区域 |bar PROCESS: 页面版块的图式schema/概念的KE图式CaseFilter 一般应用工厂-制造- General sign…...
如何在本地服务器部署SeaFile自托管文件共享服务结合内网穿透打造私有云盘?
文章目录 1. 前言2. SeaFile云盘设置2.1 Owncould的安装环境设置2.2 SeaFile下载安装2.3 SeaFile的配置 3. cpolar内网穿透3.1 下载安装3.2 Cpolar注册3.3 Cpolar云端设置3.4 Cpolar本地设置 4.公网访问测试5.结语 1. 前言 本文主要为大家介绍,如何使用两个简单软件…...
学习记录:js算法(二十五):合并两个有序链表
文章目录 合并两个有序链表我的思路网上思路 总结 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 图一 示例 1:(如图一) 输入:l1 [1,2,4], l2 [1,3,4] …...
43. 1 ~ n 整数中 1 出现的次数【难】
comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/lcof/%E9%9D%A2%E8%AF%95%E9%A2%9843.%201%EF%BD%9En%E6%95%B4%E6%95%B0%E4%B8%AD1%E5%87%BA%E7%8E%B0%E7%9A%84%E6%AC%A1%E6%95%B0/README.md 面试题 43. 1 ~ n 整数中 1 …...
K8S - 理解volumeMounts 中的subpath
在上一篇文章中 springboot service如何动态读取外部配置文件 介绍了springboot 中如何实时读取外部配置文件的内容 部署在K8S 接下来我把它部署在k8s 首先, 我们把配置文件放入项目某个目录 这步部是必须的, 毕竟我们要引入是项目外部的文件…...
java工程师成功转型大数据
时间:2024年09月06日 作者:小蒋聊技术 邮箱:wei_wei10163.com 微信:wei_wei10 音频:喜马拉雅 希望大家帮个忙!如果大家有工作机会,希望帮小蒋推荐一下,小蒋希望遇到一个认真做事…...
visual studio 2022更新以后,之前的有些工程编译出错,升级到Visual studio Enterprise 2022 Preview解决
系列文章目录 文章目录 系列文章目录前言一、解决方法 前言 今天遇到一个问题:visual studio 2022升级成预览版以后,之前的有些工程编译出错。首先代码、项目设置都没有改变,只是更新了visual studio 2022。 在编译工程时,编译器…...
Linux 性能调优技巧
1理解 Linux 性能的基本组成 CPU 使用率:衡量 CPU 在单位时间内被占用的程度。内存使用:关注的是活跃内存与缓存内存的比例,以及是否有过多的交换。I/O 性能:磁盘读写速度直接影响应用程序的响应时间和吞吐量。网络性能ÿ…...
【网络安全】WordPress Uncontrolled Resource Consumption
未经许可,不得转载。 文章目录 WordPresswp-cron.php实战漏洞危害解决措施WordPress WordPress 是全球最广泛使用的内容管理系统(CMS),目前约有 43% 的网站依赖于它。由于其用户友好的界面和丰富的插件功能,WordPress 成为了全球最受欢迎的 CMS。 然而,在使用 WordPres…...
gitee绑定公钥后依旧无法使用_gitee push添加公钥无效
解决: 步骤按照官网操作即可:gitee官方说明 看看远程地址是否使用的http模式,是的话换ssh模式...
Linux 删除 当前下的 mysql-8.0.31 空文件夹
在Linux中,如果你想要删除当前目录下的名为mysql-8.0.31的空文件夹(即该文件夹内没有任何文件或子文件夹),你可以使用rmdir命令。但是,如果mysql-8.0.31文件夹并非完全为空(即它包含文件或子文件夹…...
2024,中国服务器操作系统迎云智主升浪
“主升浪”描述了股市中一轮行情中涨幅最大、上升持续时间最长的阶段。2024年,云与AI深度融合形成了数字经济主升浪,从而打开了中国服务器操作系统的黄金机遇期。 2024年注定将成为非常不平凡的一年。不仅是实现“十四五”规划目标任务的关键一年&#x…...
STM32快速复习(九)RTC时钟模块
文章目录 前言一、RTC是什么?RTC的工作原理?二、库函数以及示例1.标准库函数2.示例代码 总结 前言 STM32 的实时时钟(RTC)是一个独立的定时器。 STM32 的 RTC 模块拥有一组连续计数的计数器,在相应软件配置下…...
Nacos注册中心与OpenFeign远程调用
文章目录 一、注册中心原理二、Nacos注册中心三、服务注册四、服务发现五、OpenFeign 一、注册中心原理 在微服务当中必须有两个角色 服务提供者:提供接口供其它微服务访问 服务消费者:调用其它微服务提供的接口 在大型微服务项目中,服务提供…...
【基础算法总结】双指针
目录 一,双指针算法介绍二,算法原理和代码实现283.移动零1089.复写零202.快乐数11.盛最多水的容器611.有效三角形的个数LRC179.和为s的两个数15.三数之和18.四数之和 三,算法总结 一,双指针算法介绍 双指针算法是基础算法之一&am…...
教你制作一本一对一授权才能阅读的样本册
在这个信息时代,保护个人隐私变得越来越重要。一对一授权阅读机制,正是为了满足这一需求而诞生。今天,就让我来教你如何制作一本只有一对一授权才能阅读的样本册。这不仅适用于保护个人隐私,还能为企业、研究机构等提供安全、高效…...
【DEV工具-IDEA】idea的光标变成黑块了?
项目场景: 解决:windows:按一下insert键。...
没通过算法备案 或许是这几点你没做好
没通过算法备案 或许是这几点你没做好 当企业提交算法备案遭遇“不予通过”时,往往是因为一些看似微小却至关重要的细节未能达到标准。以下是一些常见的原因,希望能为准备备案的企业提供一些预警和指导: ICP备案缺失:互联网信息服…...
力扣172.阶乘后的0
class Solution {public int trailingZeroes(int n) {int ans 0;//本质:每5个数有一个5的倍数,每25个数有一个25的倍数……int num 5;while(n / num ! 0) {ans n/num;num * 5;}return ans;} }...
GPEN GPU利用率优化实践:批处理100张老照片的显存与耗时实测
GPEN GPU利用率优化实践:批处理100张老照片的显存与耗时实测 1. 引言:当AI修复老照片遇上效率瓶颈 最近在整理家里的老相册,想把那些模糊的童年照片都修复一下。用GPEN一张张处理虽然效果惊艳,但手动上传、等待、保存࿰…...
GLM-4.1V-9B-Base惊艳输出:对‘抽象艺术画’的风格、情绪、创作意图推测
GLM-4.1V-9B-Base惊艳输出:对抽象艺术画的风格、情绪、创作意图推测 1. 视觉理解模型的新突破 GLM-4.1V-9B-Base作为智谱开源的视觉多模态理解模型,在艺术领域展现出令人惊艳的分析能力。不同于传统图像识别工具,这款模型能够深入解读抽象艺…...
Wan2.1 VAE行业应用:定义“一线产区”与“二线产区”产品视觉标准
Wan2.1 VAE行业应用:定义“一线产区”与“二线产区”产品视觉标准 你有没有想过,为什么有些茶叶能卖出天价,而有些看起来差不多的却只能平价销售?或者,为什么同一品种的水果,来自不同产地的价格能相差好几…...
LAMMPS并行计算深度剖析:如何利用MPI实现大规模模拟
LAMMPS并行计算深度剖析:如何利用MPI实现大规模模拟 【免费下载链接】lammps Public development project of the LAMMPS MD software package 项目地址: https://gitcode.com/gh_mirrors/la/lammps LAMMPS(Large-scale Atomic/Molecular Massiv…...
IDEA Services窗口:一站式掌控多服务启动与端口监控
1. 为什么你需要Services窗口 作为一个常年和微服务打交道的开发者,我最头疼的就是同时管理五六个服务模块。每次启动项目都要开一堆终端窗口,查看日志得像玩连连看一样在不同窗口间切换。更崩溃的是,当某个服务启动失败时,往往要…...
SEO原创文章的发布频率应该如何确定
SEO原创文章的发布频率应该如何确定 在当今的互联网时代,搜索引擎优化(SEO)已经成为网站运营的关键环节之一。为了在百度上获得更好的排名,发布高质量的原创文章是必不可少的策略。如何确定SEO原创文章的发布频率,是许…...
SecGPT-14B模型微调:OpenClaw自动化准备标注数据与训练脚本
SecGPT-14B模型微调:OpenClaw自动化准备标注数据与训练脚本 1. 为什么需要自动化微调流程 当我第一次尝试微调SecGPT-14B模型时,最让我头疼的不是模型本身,而是那些繁琐的前期准备工作。作为安全领域的从业者,我深知专业数据的价…...
Django UI扩展全攻略:打造炫酷管理界面,【面试】Kafka / RabbitMQ / ActiveMQ。
Django第三方扩展UI详解:打造现代化管理界面和用户界面 核心UI扩展库介绍 Django-admin-interface 提供高度可定制的管理后台界面,支持主题切换、颜色自定义和模块拖拽布局。无需修改Django原生代码即可实现视觉升级,适合快速构建品牌化管理系…...
【低空经济合集】2300余份低空经济+低空经济园区+低空经济数字平台+低空经济赋能方案+无人机应用方案报告及政策标准(PPT+WORD+PDF)
“十五五”期间,低空经济将构建以产业园为载体、数字化平台为底座、一网统飞为机制的发展新格局。通过建设共享基础设施与智能调度体系,推动无人机在物流、巡检等场景的“一机多用”,破解低空资源分散难题,实现空域的高效集约利用…...
如何快速掌握Walt Explorer:在线WebAssembly代码编写与调试终极指南
如何快速掌握Walt Explorer:在线WebAssembly代码编写与调试终极指南 【免费下载链接】walt :zap: Walt is a JavaScript-like syntax for WebAssembly text format :zap: 项目地址: https://gitcode.com/gh_mirrors/wa/walt Walt Explorer是一款强大的在线工…...
