iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >详解Linux定时任务Crontab的介绍与使用
  • 240
分享到

详解Linux定时任务Crontab的介绍与使用

2024-04-02 19:04:59 240人浏览 安东尼
摘要

目录一.cron介绍二.crontab的使用三.常见定时任务设置四.实例操作1.文件实时写入2. 定期清理对应目录下的文件五.常见错误一.cron介绍 linux内置的cron进程能帮我们实现这些需求,cron搭配she

目录
  • 一.cron介绍
  • 二.crontab的使用
  • 三.常见定时任务设置
  • 四.实例操作
    • 1.文件实时写入
    • 2. 定期清理对应目录下的文件
  • 五.常见错误

    一.cron介绍

    linux内置的cron进程能帮我们实现这些需求,cron搭配shell脚本,非常复杂的指令也没有问题。

    1. var/spool/cron/

    目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名

    2. _/etc/crontab

    这个文件负责调度各种管理和维护任务。

    3. /etc/cron.d/

    这个目录用来存放任何要执行的crontab文件或脚本。

    我们还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。

    二.crontab的使用

    我们常用的命令如下:

    crontab [-u username]    //省略用户表表示操作当前用户的crontab
    

    1. -e (编辑工作表)

    2. -l (列出工作表里的命令)

    3. -r (删除工作作)

    我们用crontab -e进入当前用户的工作表编辑,是常见的vim界面。每行是一条命令。

    crontab的命令构成为 时间+动作,其时间有分、时、日、月、周五种,操作符有

    • * 取值范围内的所有数字
    • / 每过多少个数字
    • - 从X到Z
    • ,散列数字

    三.常见定时任务设置

    实例1:每1分钟执行一次myCommand

    <strong>* * * * * myCommand</strong>

    实例2:每小时的第3和第15分钟执行

    <strong>3,15 * * * * myCommand</strong>

    实例3:在上午8点到11点的第3和第15分钟执行

    <strong>3,15 8-11 * * * myCommand</strong>

    实例4:每隔两天的上午8点到11点的第3和第15分钟执行

    <strong>3,15 8-11 */2 * * myCommand</strong>

    实例5:每周一上午8点到11点的第3和第15分钟执行

    <strong>3,15 8-11 * * 1 myCommand</strong>

    实例6:每晚的21:30重启smb

    <strong>30 21 * * * /etc/init.d/smb restart</strong>

    实例7:每月1、10、22日的4 : 45重启smb

    <strong>45 4 1,10,22 * * /etc/init.d/smb restart</strong>

    实例8:每周六、周日的1 : 10重启smb

    <strong>10 1 * * 6,0 /etc/init.d/smb restart</strong>

    实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb

    <strong>0,30 18-23 * * * /etc/init.d/smb restart</strong>

    实例10:每星期六的晚上11 : 00 pm重启smb

    <strong>0 23 * * 6 /etc/init.d/smb restart</strong>

    实例11:每一小时重启smb

    <strong>0 */1 * * * /etc/init.d/smb restart</strong>

    实例12:晚上11点到早上7点之间,每隔一小时重启smb

    <strong>0 23-7/1 * * * /etc/init.d/smb restart</strong>

    四.实例操作

    1.文件实时写入

    1) 查看定时任务状态

    [root@localhost ~]#<strong>service crond status</strong>
    Redirecting to /bin/systemctl status crond.service
    ● crond.service - Command Scheduler
       Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
       Active: active <strong>(running)</strong> since Mon 2021-09-20 01:22:18 CST; 24s aGo
     Main PID: 17516 (crond)
       CGroup: /system.slice/crond.service
               └─17516 /usr/sbin/crond -n

    2) 关闭/开启定时任务

    [root@localhost ~]# <strong>service crond stop</strong>
    Redirecting to /bin/systemctl stop crond.service
    [root@localhost ~]# <strong>service crond start</strong>
    Redirecting to /bin/systemctl start crond.service

    3) 编辑定时任务

    [root@localhost ~]# crontab -e
    * * * * * echo `date '+\%Y-\%m-\%d \%H:\%M:\%S'` >> 123.txt #每分钟执行一次

    4) 查看已存在的定时任务

    [root@localhost ~]# crontab -l
    * * * * * echo `date '+\%Y-\%m-\%d \%H:\%M:\%S'` >> 123.txt

    5) 验证校验生成

    [root@localhost ~]# cat 123.txt 
    2021-09-20 01:13:01
    2021-09-20 01:14:01
    2021-09-20 01:15:01

    2. 定期清理对应目录下的文件

    1) 预制数据:

    [root@localhost test20210920]# echo abcdefg | tee -a file{1..5}.log
    abcdefg
    [root@localhost test20210920]# du -sh *
    4.0K    file1.log
    4.0K    file2.log
    4.0K    file3.log
    4.0K    file4.log
    4.0K    file5.log

    2) 添加定时任务

    [root@localhost ~]# crontab -e
    
    * * * * * find  /root/test20210920  -type f -name '*.log' -exec cp /dev/null {} \;

    3) 检查定时任务执行,1分钟左右

    [root@localhost test20210920]# du -sh *
    0    file1.log
    0    file2.log
    0    file3.log
    0    file4.log
    0    file5.log

    4) 查看定时任务执行情况:

    [root@localhost test20210920]# tail -5 /var/log/cron
    Sep 20 01:56:33 localhost crontab[17797]: (root) END EDIT (root)
    Sep 20 01:56:51 localhost crontab[17802]: (root) BEGIN EDIT (root)
    Sep 20 01:56:54 localhost crontab[17802]: (root) END EDIT (root)
    Sep 20 01:57:01 localhost CROND[17809]: (root) CMD (find  /root/test20210920  -type f -name '*.log' -exec cp /dev/null {} \;)
    Sep 20 01:58:01 localhost CROND[17819]: (root) CMD (find  /root/test20210920  -type f -name '*.log' -exec cp /dev/null {} \;)

    五.常见错误

    1.errors in crontab file, can't install

    详解Linux定时任务Crontab的介绍与使用

    解决方式:

    因为你的crontab格式错误,即没有按照规则写

    查看原命令并修正:

    echo `date +"%Y-%m-%d %H:%M"` >> 123.txt

    修改后正常保存:

    * * * * * echo `date +"%Y-%m-%d %H:%M"` >> 123.txt

    2.接以上错误:

    邮件内报错:cat /var/spool/mail/root

    详解Linux定时任务Crontab的介绍与使用

    解决方式: 

    crontab内%需要转义,修复定时任务正常

    * * * * * echo `date '+\%Y-\%m-\%d \%H:\%M:\%S'` >> 123.txt

    以上就是详解Linux定时任务Crontab的介绍与使用的详细内容,更多关于Linux定时任务Crontab的资料请关注我们其它相关文章!

    --结束END--

    本文标题: 详解Linux定时任务Crontab的介绍与使用

    本文链接: https://www.lsjlt.com/news/34354.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 简单介绍Shell中的定时任务 crontab
      导读crondtab进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。这篇文章主要介绍了Shell中的定时任务 crontab,需要的朋友可以参考下crondtab定时任务...
      99+
      2023-06-05
    • Django定时任务Django-crontab的使用详解
      在使用的django做测试平台时,,多多少少都会遇到需要定时任务的功能,比如定时执行任务,检查订单之类的。可能是一段时间,比如每隔 10分钟执行一次,也可能是定点时间,比如 14:0...
      99+
      2024-04-02
    • crontab 详细用法 定时任务
      crontab 是一个在 Linux 和 UNIX 系统中用来设置定时任务的命令。它允许用户根据自己的需要在指定时间执行特定的命令或...
      99+
      2023-09-07
      crontab
    • Spring-Task定时任务的使用介绍
      目录一、基本使用二、@Scheduled属性详解1. cron2. zone3. fixedDelay4. fixedDelayString5. fixedRate6. fixedR...
      99+
      2022-11-13
      Spring Task定时任务使用 Spring Task 定时任务 Spring Task
    • linux中怎么使用crontab创建定时任务
      这篇文章将为大家详细讲解有关linux中怎么使用crontab创建定时任务,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux下可以利用crontab创建定时任务。常用搭配crontab -e 编辑任...
      99+
      2023-06-09
    • 怎么在linux中使用crontab 定时执行任务
      怎么在linux中使用crontab 定时执行任务?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。linux下定时执行任务的方法在LINUX中,周期执行的任务一般由cron这...
      99+
      2023-06-09
    • C#定时任务框架Quartz.NET介绍与用法
      什么是定时任务? 最近恰巧有类似的需求, 需要做一个应用程序服务, 每天定时给服务器上传采集的数据。 在没有任务框架的使用前提下, 如果我们想要实现类似的需求,可以自己写一个计时器,...
      99+
      2024-04-02
    • Ubuntu中怎么使用crontab定时任务
      今天就跟大家聊聊有关Ubuntu中怎么使用crontab定时任务,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 使用crontab -e命令这个命令的使用比较简单。直接输入~# cr...
      99+
      2023-06-17
    • Django定时任务Django crontab如何使用
      这篇文章主要介绍“Django定时任务Django-crontab如何使用”,在日常操作中,相信很多人在Django定时任务Django-crontab如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”D...
      99+
      2023-07-02
    • 怎么在Linux中使用crontab命令定时执行任务
      怎么在Linux中使用crontab命令定时执行任务?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。crontabcron是一个linux下 的定时执行工具,可以在无需人工干...
      99+
      2023-06-09
    • 怎么在Linux中使用crontab运行Java程序定时任务
      本篇文章为大家展示了怎么在Linux中使用crontab运行Java程序定时任务,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。分析它的命令格式和主要参数如下:命令格式crontab [-u...
      99+
      2023-06-13
    • Pythonflask框架定时任务apscheduler应用介绍
      目录基本使用trigger启动方式cron启动方式使用装饰器定时启动任务flask-apscheduler将apscheduler移植到了flask应用中,使得在flask中可以非常...
      99+
      2024-04-02
    • Linux系统中crontab命令处理定时任务的用法
      本篇内容介绍了“Linux系统中crontab命令处理定时任务的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!定时执行操作命令,每一个用...
      99+
      2023-06-12
    • PHP——thinkphp5的详解介绍与使用
      ThinkPHP5是一款基于PHP语言的轻量级开源框架,它具有简单、高效、灵活、安全等特点,非常适合快速开发Web应用程序。一、Th...
      99+
      2023-08-25
      PHP
    • Java Elastic-Job分布式定时任务使用方法介绍
      目录1 事件追踪1.1 修改Elastic-Job配置类1.2 启动项目2 运维2.1 搭建2.2 配置及使用1 配置注册中心地址2 配置事件追踪数据源3 dump命令1 事件追踪 ...
      99+
      2023-01-16
      Java Elastic-Job Java分布式定时任务
    • Go语言中定时任务库Cron使用方法介绍
      目录快速入门Cron表达式格式预定义时间表设置时区常用的方法介绍快速入门 安装cron,注意这里安装的是v3版本。新版本和旧版时间使用有所区别 go get github.com/r...
      99+
      2024-04-02
    • React Fragment介绍与使用详解
      目录前言 Fragments出现动机 React Fragment介绍与使用 <React.Fragment> 与 <>区别 前言 在向 DOM 树批量添加...
      99+
      2024-04-02
    • 详解定时任务框架Quartz的使用
      目录一、什么是Quartz二、Quartz Demo搭建三、Quartz核心详解一、什么是Quartz 什么是Quartz Quartz是OpenSymphony开源组织在Job s...
      99+
      2023-02-13
      定时任务框架Quartz使用 定时任务框架Quartz
    • shell后台定时任务时crontab的用法是怎样的
      shell后台定时任务时crontab的用法是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。crontab的用法语法:crontab[-u username]|-l|-r...
      99+
      2023-06-13
    • Linux下Rsync的介绍与使用
      本篇内容介绍了“Linux下Rsync的介绍与使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!0.Rsync的介绍rsync是Linux系...
      99+
      2023-06-05
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作