一、前言

小编最近在将线上服务器实时的请求都转到测试机,但是由于请求量太多导致log不久就写满磁盘了,手动清理费事费力,因此考虑到自动清理,接触到corntab定时任务。分享给各位。

二、crond介绍

在介绍crontab前,我们先了解下crond,因为crontab需要crond服务支持。crond是Linux下用来周期地执行某个任务或等待处理某些事件的一个守护进程。

crond服务操作说明:

启动服务:service crond start

关闭服务:service crond stop

重启服务:service crond restart

重新载入配置:service crond reload

其实,在安装完成操作系统后,默认会安装crond服务工具,并且crond服务默认自动启动,crond进程每分钟定期检查是否可以使用crontab命令。

三、使用者权限管理

接下来介绍crontab命令的权限管理。Crontab是通过etc目录下cron.allow和cron.deny文件来限制用户是否可以使用crontab命令的,具体规则如下:

1、 当系统中只存在/etc/cron.allow文件时,只有写入此文件的用户才可以使用crontab命令,没有写入的用户是不能使用crontab命令的。

2、 当系统中只存在/etc/cron.deny文件时,写入此文件的用户不能使用crontab命令,没有写人的用户可以使用crontab命令。

3、 当两个文件都存在时候,/etc/cron.allow优先级更高,/etc/cron.deny文件会被忽略。

每个用户都可以实现自己的crontab定时任务,只需要执行”crontab -e”命令即可,前提是当前用户不在cron.deny文件中。

四、crontab介绍

crontab命令基本格式如下:

crontab [选项] [file]

注意,这里的 file 指的是命令文件的名字,表示将 file 作为 crontab 的任务列表文件并载入 crontab,若在命令行中未指定文件名,则此命令将接受标准输入(键盘)上键入的命令,并将它们键入 crontab。下图是此命令的常用选项:

其实crontab定时非常简单,只需执行”crontab -e”命令,然后输入要执行的命令即可,不过我们打开的是一个空文件,操作方式和Vim是一样的,只不过文件格式稍微复杂些。空文件的格式如下:

* * * * *  执行的任务

这个文件是通过5个*,确定执行任务的频率的。5个*含义如下图:

当然只用这些还是不够灵活,下图中还有些特殊符号:

当“crontab -e”编辑完成之后,一旦保存退出,那么这个定时任务实际就会写入 /var/spool/cron/ 目录中,每个用户的定时任务用自己的用户名进行区分。而且 crontab 命令只要保存就会生效,只要 crond 服务是启动的。

五、系统的crontab

“crontab -e”是每个用户都可以执行的命令,也就是,不同的用户身份可以执行自己的定时任务。但是有些定时任务需要系统执行,这时就需要编辑 /etc/crontab 这个配置文件。并不是说/etc/crontab配置文件执行是不需要用户身份,而是执行“crontab -e”命令中定时任务时候,此时用户是当前登录的用户。而在修改/etc/crontab时候需要指定执行定时任务的用户。配置系统的定时任务主要用两种方法。

方法一、配置/etc/crontab

/etc/crontab的结构为下图:

添加定任务的结构与上面相似,不过需要指定执行定时任务的用户。在/etc/crontab按照其格式添加定时任务保存即可。当然要确定crond服务是运行的。并且此文件只有root用户才能更改,其他用户是没有权限更改的。

方法二、配置/etc/cron.{daily,weekly,monthly} 目录

将可以执行的脚本,赋予可执行权限,然复制到/etc/cron.{daily,weekly,monthly}目录中的任意一个,比如,想让某个脚本每月执行,将这个脚本copy到/etc/cron.monthly目录下,那么这个脚本就会,每个月执行一次。

cron 每年执行一次_循环执行定时任务crontab相关推荐

  1. scheduled线程池ScheduledExecutorService只执行一次_有个定时任务突然不执行了

    scheduled线程池ScheduledExecutorService只执行一次_有个定时任务突然不执行了 原因 If any execution of the task encounters an ...

  2. c++循环执行一个函数_循环

    循环 目标 程序的三大流程 while 循环基本使用 break 和 continue while 循环嵌套 01. 程序的三大流程 在程序开发中,一共有三种流程方式: 顺序 -- 从上向下,顺序执行 ...

  3. python如何执行代码漏洞_命令执行与代码执行漏洞原理

    本篇笔记摘自微信"黑白天",如有侵权,联系删除 命令执行定义 当应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的函数.如PHP中的system,exec,sh ...

  4. php一次性执行多条sql_PHP循环执行多条SQL

    与几乎所有"如何在PHP中执行SQL"问题一样,您实际上应该使用准备好的语句.这并不难: $ids = array(2, 4, 6, 8); // prepare an SQL s ...

  5. html显示python执行的结果_批量执行用例,且结果显示在html中,python控制台也会显示运行过程...

    下载HTMLTestRunner.py放到python安装目录的Lib下: 如下以登录为例,创建不同的.py文件, ========================================== ...

  6. Linux上使用at单一执行例行性工作,使用crontab循环执行例行性任务以及系统例行任务

    在工作或学习中,我们经常需要对重要的文件进行备份,或者做一些日常性的排查等工作,了解如何在linux上执行例行性工作显得尤为重要! 本文基于Linux上CentOS 7版本进行演示 一.单一执行例行性 ...

  7. 定时任务每秒执行、每分钟执行、每小时执行、每天执行、每周执行、每月执行、每年执行、定时任务重复执行、循环执行

    在平时生活.系统运维.实验室.学校等场景下,有很多定期循环执行任务的需求.比如:在系统运维过程中,常常会在每天凌晨1点以后执行某些批处理脚本:在实验室做实验过程中,需要每隔10分钟去操作一下设备等等. ...

  8. C++中如何控制语句只执行一次_【Python基础(七)】逻辑控制

    本节将会讲到在编程中个人认为最重要的知识之一,逻辑控制.与其说是介绍语法,不如说是阐述看待事物的方法.我们身处的世界,每天有海量信息向我们袭来,每天我们要处理若干的事件,对于每一个事件,它都由若干个小 ...

  9. python 动态执行条件判断_【人生苦短,我学 Python】基础篇——条件判断与循环语句(Day12)_不积跬步,无以至千里!-CSDN博客...

    原文作者:AI 菌 原文标题:[人生苦短,我学 Python]基础篇--条件判断与循环语句(Day12) 发布时间:2021-02-08 23:17:06 写在前面:大家好!我是[AI 菌],一枚爱弹 ...

最新文章

  1. ELF Format 笔记(十三)—— 段权限
  2. 常见MOS管型号及参数对照表
  3. 导演李大为婚礼全过程(二)
  4. A Hard Problem
  5. 六年级下册百分数计算题_六年级数学上册期末试卷(附答案)
  6. 最好的python3视频教程_哪里有免费的python3教程啊?最好是有例子的视频教学
  7. java代码删除本地文件_java程序实现删除本地文件
  8. 无极灯与LED灯将在短期内合力淘汰传统光源
  9. linux远程连接windows桌面背景,Centos远程Windows桌面_远程桌面
  10. Linux进程管理命令:nohup、、jobs、fg、bg、ps、kill
  11. 微信群突然冒出“免费教画画”的女大学生,套路太深,千万别上当!
  12. GBA模拟器 v1.8官方简体中文版
  13. 【机器学习】朴素贝叶斯对文本分类--对人名国别分类
  14. 2020面试准备之MySQL索引
  15. (转)在 Linux 平台中调试 C/C++ 内存泄漏方法
  16. 文件或目录损坏其无法读取问题解决方法2022-9-15
  17. itlwm驱动_黑苹果春天:macOS英特尔/Intel无线驱动 itlwm v1.1.0 stable
  18. 软件推荐——二维码生成工具(绿色版)
  19. 腾讯首发Linux内核源码《嵌入式开发进阶笔记》差距差的不止一点点哦
  20. java如何实现aes加密_Java 如何实现AES加密

热门文章

  1. Linux系统结构 详解
  2. matlab实现评价图像增强效果的参数——信背比(SBR)
  3. 【C++】构建哈希表
  4. 【无标题】科大星云诗社动态20201206
  5. github使用ssh key
  6. 约翰霍姆金斯大学_the I-STAR Lab
  7. 游戏外挂的基本编写原理
  8. P4 详解各硬件部分
  9. math.h头文件中声明了常用的一些数学运算
  10. 《Effective Java2》笔录