首页 > 系统相关 >LInux crontab

LInux crontab

时间:2023-02-04 21:12:34浏览次数:39  
标签:tmp 可以 crontab 命令 LInux 执行 我们

crontab

 

内容简介

一、crontab的基本介绍

二、crontab语法

三、crontab常用工具

四、crontab的坑

 

一、crontab 的基本介绍

crontab 是用来定期执行程序的命令,当安装完成操作系统之后,默认便会启动此任务调度命令。

Crond 命令会在后台每分钟定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

在实际使用过程中,我们有四个常用的命令介绍:

① crontab-I 列出目前的日程表

② Crontab-e 编辑当前日程表

③ Crontab-r 删除当前日程表

④ Crontab-u xx -I 列出xx用户的日程表

大家就可以根据自己的使用需要去编辑自己的命令。

 

二、crontab 语法

crontab 作为一个定时任务调度的程序,就存在着定时任务调度的语法。在实际使用过程中,它的语法是以定义分钟、小一个月中的第几天、月份、星期,并附上对应的命令(program),来完成对应的定义。

如果说在分钟定义的是0,在小时定义的是0,在一个月中的第几天定义的是1,在月份中也定义1,在星期中定义*(代表所有可能的值),最后输入一个echo hello,这就代表着在1月的1时的0时0分去执行echo hello。

常用语法:

①星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的 执行该命令操作。

② 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8.9

③中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6"

④正斜线(/):可以用正斜线指定时间的问隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

 

在实际使用过程中我们如何编辑crontab:

首先,登陆服务器以后,其实看不到crontab 列表,这时可以执行crontab-I 来查看调度表,这里显示当前用户是没有crontab 任务的,接下来可以使用crontab-e 进入编辑模式,去定义定时任务,先用* * * * *表示任意分钟任意小时任意天任意月份以及任意星期,用五个*号表示在任意时间都要执行。然后可以执行一个命令:echo“123/r/n” >>  /tmp/crontabtest(输出tmp目录下的crontabtest文件),然后保存并退出,这样就会在tmp目录下出现一个对应的生成的文件,这时就可以使用crontab-l来查看我们的服务。这时再去看刚刚所介绍分钟、小时、天、月份以及星期,就知道具体的它们其实都是哪些命令,代表着什么样的时长。

在实际使用过程中,我们就可以根据我们的需要去调整我们实际看到的效果。或者我们直接使用ls/tmp,目前我们还没有启用我们的定时任务,这时我们可以使用systemctl statsus crond.service, 就可以看到我们服务的运行状况,当我们重启我们的服务之后,再看一下我们的tmp 目录,就可以看到crontabtest文件。

查看crontabtest 文件,就会显示刚刚输入的信息,这时crontab 就已经执行成功了。再输入crontab-l 显示命令,用crontab-r 去清空。当重新输入crontab-l,就会发现刚刚的任务没有了。

 

三、crontab 的常用工具

当觉得很困惑时,可以使用crontab guru 这个工具快速的理解crontab 的语法,可以把看到的命令规则填写在此工具的输入框中,工具就会告诉我们这个命令会在什么样的情况下执行。

例如:当输入 * * * * *,这个工具就会告诉我们,这个命令在每个分钟都会执行。当输入*/2 * * * *,这个工具就会告诉我们,这个命令会在每一个第二分钟执行。当输入0-30/2 * * * * ,工具会告诉我们,这个命令在0-30分钟之间每隔一个执行一次。

有了这个工具,就可以很快速的了解命令在下一个什么时间点执行。

 

四、crontab 的坑

①新创建的cron 任务,不会马上执行,至少要过2分钟后才可以,当然可以重启cron 来马上执行

②crontab 中的命令需要写成绝对路径

注:

第①点是因为crontab 会有一个加载的机制,我们编写的命令需要加载到crontab 的整个进程当中,需要等下一次执行的时候才能够加载进去。

第②点的绝对路径是因为crontab 有他自己的用户信息,与所配置的用户信息不符,就会没有办法执行,所以写成绝对路径,确保我们的命令可以被执行

标签:tmp,可以,crontab,命令,LInux,执行,我们
From: https://www.cnblogs.com/woodx/p/17092391.html

相关文章

  • Linux系列教程(一)——Linux系统简介
    本系列教程将完整的讲解整个Linux相关的知识,这是楼主学完兄弟连的Linux教程之后重新对Linux知识体系的整理。个人感觉兄弟连的Linux教程可以很好的入门,从最基础的知识开......
  • Linux环境下:程序的链接, 装载和库[ELF文件详解]
    编译过程拆解预处理处理生成.i文件,.i文件还是源码文件将所有的宏定义#define展开。处理#if,#else,#endif等条件编译指令处理#include,原地插入文件cppHelloW......
  • Linux文件系统
    Linux文件系统......
  • Linux的起源
    Linux的起源......
  • Linux之LVM管理 pvcreate,vgcreate,lvcreate命令
    一、逻辑卷管理(LVM)概念逻辑卷和逻辑卷管理有助于更加轻松地管理磁盘空间。如果托管逻辑卷的文件系统需要更多空间可以将其卷组中的可用空间分配给逻辑卷,并且可以调整文件......
  • linux中小文件传输rz,sz
    linux中小文件传输rz,szrz输入rz从windows中弹出窗口选择文件传输到linux服务器当前目录sz输入sz加文件名传输到windows,弹出窗口选择目录存储rz,sz安装如果提示找......
  • linux 文件压缩
    linux文件压缩打包成tar.gz格式压缩包#tar-zcvfrenwolesshel.tar.gz/renwolesshel解压tar.gz格式压缩包#tarzxvfrenwolesshel.tar.gz打包成tar.bz2格式压缩......
  • Linux基础
    linux发行版:DebianubuntuRedhatcentosLinux内核从应用角度来看,分为用户空间和内核空间。Linux内核分为5个系统:进程调度、内存管理、虚拟文件系统、网络接口、进程间......
  • [linux] 进程相关概念理解
    @​​TOC​1.什么是进程假设在一个文件中写代码,并生成一个可执行程序在磁盘中,可执行程序本质也是一个二进制文件文件=内容+属性内容即自己写的代码和数据属性即创建时间......
  • linux系统优化、用户权限
    linux系统优化、用户权限系统优化相关1.了解自己的系统情况cat/etc/redhat-release#简要查看系统情况uname-r/-a/-n/-s/...#2.用户信息创建用户:usera......