首页 > 其他分享 >crontab 设置周期性被执行的任务的工具

crontab 设置周期性被执行的任务的工具

时间:2024-08-11 23:52:29浏览次数:12  
标签:执行命令 命令 编辑器 crontab 周期性 任务 设置 执行

1.1 crontab 服务管理

crontab 服务管理是 Unix 和类 Unix 系统(如 Linux 和 macOS)中用于设置周期性被执行的任务的工具。crontab 服务管理是 "cron table"(cron 表格)的缩写,它允许用户为任务安排在未来某个时间点执行,也可以定期重复执行。

1.2 crontab 定时任务设置

1) 基本语法

crontab [选项]

2) 选项说明

选项功能
-e编辑 crontab 定时任务
-l查询 crontab 任务
-r删除当前用户所有的 crontab 任务

查看当前用户的 crontab 列表

crontab -l

编辑当前用户的 crontab 列表

crontab -e

会打开一个文本编辑器(通常是你在系统中设置的默认编辑器),你可以在其中添加、修改或删除任务。

删除当前用户的 crontab 列表

crontab -r

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

crontab 文件格式

crontab 文件中的每一行都代表一个定时任务,其格式如下:

* * * * * command_to_execute  
- - - - -  
| | | | |  
| | | | +---- Day of the week   (0 - 6) (Sunday=0)  
| | | +------ Month of the year (1 - 12)  
| | +-------- Day of the month  (1 - 31)  
| +---------- Hour              (0 - 23)  
+------------ Minute            (0 - 59)

3) 选择编辑器

aab@ubuntu:~/桌面$ crontab -e

执行上述命令,系统会提示我们选择编辑器, 此处没有 vim。

no crontab for atguigu - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
Choose 1-4 [1]:

可以通过 EDITOR 环境变量在执行 crontab 时选择编辑器,命令如下。

aab@ubuntu:~/桌面$ EDITOR=vim crontab -e

4) 参数说明

( 1) 执行上述命令会进入 crontab 编辑界面, 并打开 vim 编辑定时任务。

* * * * * 执行的任务

项目含义范围
第一个“ *”一小时当中的第几分钟0-59
第二个“ *”一天当中的第几小时0-23
第三个“ *”一个月当中的第几天1-31
第四个“ *”一年当中的第几月1-12
第五个“ *”一周当中的星期几0-7( 0 和 7 都代表星期日)

( 2) 特殊符号

特殊符号含义
*代表任何时间。 比如第一个“*”就代表一小时中每分钟都执行一次的意思。
代表不连续的时间。比如“ 0 8,12,16 * * * 命令”,就代表在每天的 8 点 0 分, 12 点 0 分, 16 点 0 分都执行一次命令
-代表连续的时间范围。 比如“0 5 * * 1-6 命令”, 代表在周一到周六的凌晨 5 点 0 分执行命令
*/n代表每隔多久执行一次。比如“*/10 * * * * 命令”, 代表每隔 10 分钟就执行一遍命令

( 3) 特定时间执行命令

时间含义
45 22 * * * 命令在 22 点 45 分执行命令
0 17 * * 1 命令每周 1 的 17 点 0 分执行命令
0 5 1,15 * * 命令每月 1 号和 15 号的凌晨 5 点 0 分执行命令
40 4 * * 1-5 命令每周一到周五的凌晨 4 点 40 分执行命令
*/10 4 * * * 命令每天的凌晨 4 点, 每隔 10 分钟执行一次命令
0 0 1,15 * 1 命令每月 1 号和 15 号, 每周 1 的 0 点 0 分都会执行命令。 注意:星期几和几号最好不要同时出现, 因为他们定义的都是天。非常容易让管理员混乱。

 5) 实操

( 1) 监听 test.txt

aab@ubuntu:~/桌面$ tail -F test.txt

( 2) 每隔 1 分钟,向/home/aab/桌面/test.txt 文件中添加一个 hello,world 的字符串

*/1 * * * * /bin/echo "hello,world" >> /home/aab/桌面/test.txt

6)注意事项

确保你的脚本或命令具有执行权限(使用 chmod 命令)。

在 crontab 中执行脚本时,环境变量可能与你在终端中看到的有所不同。如果你的脚本依赖于特定的环境变量,请确保在脚本中显式设置这些变量。

使用 crontab -e 编辑任务时,如果未看到任何输出或编辑器没有打开,可能是因为你的系统没有设置默认编辑器或环境变量问题。

使用 crontab -l 检查你的 crontab 文件,确保你的任务已正确添加。

对于复杂的任务调度需求,考虑使用更高级的任务调度工具,如 atsystemd timers 或更专业的任务调度软件。

标签:执行命令,命令,编辑器,crontab,周期性,任务,设置,执行
From: https://blog.csdn.net/qq_65582400/article/details/141114315

相关文章

  • 鸿蒙HarmonyOS NEXT开发:触摸热区设置(触摸交互控制)
    触摸热区设置适用于支持通用点击事件、通用触摸事件、通用手势处理的组件。说明:从APIVersion8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。responseRegionresponseRegion(value:Array<Rectangle>|Rectangle)设置一个或多个触摸热区。......
  • ubuntu20.04中文界面设置
    1,进入ubuntu界面,首先要做的是更换下载源。打开Software&Updates,选择UbuntuSoftware菜单,在Downloadfrom处选择“阿里云”下载源(xxxx.aliyun.com)2,然后更新系统中可用软件包的信息,以便后续包含中文语言包的信息。3.打开设置,找到地区和语言(Region&Language),选择"Manageinsta......
  • crontab介绍
    crontab介绍crontab是Linux和Unix系统中用于定时任务调度的工具。它允许用户在指定的时间或时间间隔自动执行脚本或命令。通过crontab,你可以安排系统和用户级别的定时任务,从而实现自动化操作。以下是crontab的详细介绍:1.基本概念Cron:cron是在后台运行的守护进程,负......
  • RouterOS设置IPV6并解决部分网页打开慢和无法打开问题
    目前ADSL各大运营商已完成IPv6的部署,很多网站和应用也开始部署IPv6,早先尝试过启用IPv6,但是出现部分网站打不开的情况,一直未找到原因,最近终于发现了问题所在,终于能正常使用IPv6了。WinBox下启用IPv6的步骤:1、启用IPv6软件包:System=>Packages,将ipv6设置为enable2、获取IP......
  • 安装双系统(Ubuntu)后NVIDIA驱动无法使用(Make sure that the latest NVIDIA driver is i
    首先问题描述:使用nvidia-smi命令去查看Nvidia显卡的使用情况的时候报错如下:(base)root@TGONE:#nvidia-smiNVIDIA-SMIhasfailedbecauseitcouldn'tcommunicatewiththeNVIDIAdriver.MakesurethatthelatestNVIDIAdriverisinstalledandrunning.引言在......
  • python图片压缩大小及设置图片像素大小120乘160
    python图片压缩大小及设置图片像素大小120乘1601.在pycharm中安装pillow库的步骤:打开设置并转到“项目”页面。选择“python解释器”并单击“+”按钮。搜索“pillow”,选中包并单击“安装包”。1.打开PyCharm设置Windows:File>Settings2.转到“项目”页面在左侧导航栏中,单......
  • vmware nat 设置静态ip
    宿主机操作系统:win7vmware版本:15.5.7redhat镜像版本:OracleLinuxServerrelease6.8(可通过lsb_release-a查看)vmware-编辑-虚拟网络编辑器,如果没有NAT模式的网络,要新建一个如VMnet8.VMnet信息选"NAT模式".点"NAT设置"记下来下面的子网ip(如192.168.85.0)子网掩码(......
  • 【Spring-RabbitMq】设置消费重试次数
    引言在我们实际项目中需要对消息消费的高可用做保证,首先需要做到的就是消息的重试机制,设想一下以下场景:当库存服务处理上游服务发过来的订单消息时,此时服务宕机了,或者网络不可用了,那我这个消息是应该算消费成功还是消费失败呢?显然,我们肯定要对处理不成功的消息进行重试......
  • 在 Windows 上使用 LCX(Local Channel eXchange)来进行本地和远程转发,此大纲旨在提供顶
    LCX(LocalChanneleXchange)通常指的是一种用于网络协议中的本地和远程转发技术。如果你在谈论的是与LCX相关的网络配置,它可能涉及不同的上下文,例如在通信协议或网络交换中。本地和远程转发的基本概念:本地转发(LocalForwarding):本地转发将本地计算机上的一个端口转发到......
  • 没有Rfkill情况设置Wifi启用
    网络镜像安装系统时CTRL+ALT+F3切换到命令行模式.echo"1">/sys/class/Rfkill/rfkill0/state进行启用该设备。echo1>会出错。state是状态,type会显示是wifi还是bluetooth,一般wifi有两个设备,一个是物理设备另一个是虚拟软件设备。只有上面完成了才能通过iplinksetdevi......