文档章节

Linux 定时任务

加帆
 加帆
发布于 2015/12/17 13:53
字数 858
阅读 85
收藏 0

开笔

最近在做数据收集涉及到一些日志文件轮转切割,笔者想用一个定时任务来实现定时轮转。调研后决定使用 Linux 系统的 cron 服务。

Cron 是Uninx系(Linux) 操作系统的后台驻留程序,系统管理员用得相对多一些。Cron 可以被设置为开机启动,在 centos 中默认就是开机启动的服务。

在使用 cron 服务的时候,往往我们都需要 先确认cron服务本身是否开启,处于运行状态,确认当前用户是否有权限正常使用cron,编辑下发cron计划任务,确认我们的计划任务是否如约按照计划执行。本篇笔者就和大家一起看看:

  1. 查看当前系统cron服务状态
  2. 管理 cron 服务
  3. 配置 corn 服务权限
  4. 编辑下发 cron 计划任务
  5. 查看 任务是否按照计划执行

cron服务查看

除了可以用 ps 命令查看 cron 服务进程运行状态,还可以查看正在运行的cron服务调度本身的状态。通过 crontab 命令对cron服务的设置。用:

man crontab

查看一下crontab命令,发现,crontab 有4个可选参数:

  • -u:设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
  • -l:列出某个用户cron服务的详细内容
  • -r:删除某个用户的cron服务
  • -e:编辑某个用户的cron服务

cron服务管理

如果经过查看,我们发现cron并不是你要的状态,那么就开始管理它吧。作为后台服务,cron有着与我们熟知的服务程序相似地基本管理命令:启动、停止、重启、重新载入配置(需要稍微注意一点,这里是crond 而不是 cron):

  • 启动服务:

    	/sbin/service crond star
    
  • 关闭服务

    	/sbin/service crond stop
    
  • 重启服务

    	/sbin/service crond restart
    
  • 重新载入配置

    在每一次重新修改过cron配置文件,请务必重新载入一下配置:

    	/sbin/service crond reload
    

配置 corn 服务权限

在 Linux 操作系统中,对用户使用cron服务的权限控制在 /etc/cron.allow 和 /etc/cron.deny 两个文件中配置实现,但 /etc/cron.allow 文件非必须存在的。

如果 /etc/cron.allow 文件存在,则所有需要运行 crontab 命令的用户必须在这个文件被列举出来;如果 /etc/cron.allow 文件不存在,但 /etc/cron.deny 文件存在,则所有需要运行 crontab 命令的用户必须在这个文件不被列举出来。当这两个文件都不存在的情况下,在一些 Linux 系统(如 Ubuntu、Debian ,但不是所有)允许所有用户运行 crontab 命令。

需要注意的是,系统中,不在 /etc/shadow 文件所列的用户,是没有权限使用 crontab 命令。

编辑cron任务

  1. 语法

    	* * * * *  Command_to_execute
    	- – – – -
    	| | | | |
    	| | | | +—– Day of week (0–6) (Sunday=0) or Sun, Mon, Tue,…
    	| | | +———- Month (1–12) or Jan, Feb,…
    	| | +————-— Day of month (1–31)
    	| +——————– Hour (0–23)
    	+————————- Minute (0–59)
    
    
  2. 示例

    每天凌晨轮转nginx的access日志

    	01 00 * * * /usr/sbin/logrotate /etc/logrotate.d/nginx-access-log.conf
    
    

    系统便会在每天凌晨壹分的时刻执行 /usr/sbin/logrotate /etc/logrotate.d/nginx-access-log.conf 命令,实际就是每天凌晨进行日志轮转

ps

欢迎来到我github上的空间:https://jiafan.github.io

© 著作权归作者所有

加帆
粉丝 0
博文 7
码字总数 4444
作品 0
浦东
技术主管
私信 提问
在 Linux 中安全且轻松地管理 Cron 定时任务

在 Linux 中遇到计划任务的时候,你首先会想到的大概就是 Cron 定时任务了。Cron 定时任务能帮助你在类 Unix 操作系统中计划性地执行命令或者任务。也可以参考一下我们之前的一篇《关于 Cron...

作者: Sk
2018/10/03
0
0
定时任务工具——CronUtil

牢骚 Java中定时任务使用的最多的我想就是quartz了,但是这个框架太过庞大,而且我也不需要用到这么多东西,使用方法也是比较复杂(官方Demo我实在是无语……)。于是我便寻找新的框架代替(...

路小磊
2015/02/24
2.6K
6
gocron - 定时任务web管理系统

gocron - 定时任务管理系统 项目简介 使用Go语言开发的定时任务集中调度和管理系统, 用于替代Linux-crontab 项目地址 功能特性 Web界面管理定时任务, 支持动态添加、删除、编辑任务 crontab时...

记住一座城
2017/05/06
0
0
NikolasNull/FastCron

项目简介 使用Java语言开发的定时任务集中调度和管理系统。基于quartz的二次集成,用于替代Linux系统中的crontab。 功能特性 Web界面管理定时任务,支持动态添加、删除、编辑任务。 crontab时...

NikolasNull
2018/09/30
0
0
linux定时任务 执行php大批量update数据的时候,会在两分钟的时候中断,请问是什么问题?

linux定时任务 执行php大批量update数据的时候,会在两分钟的时候中断,线下windows使用命令行访问update方法时,运行正常,但是放到linux定时任务执行久只运行两分钟...

莫熙
2018/11/07
89
1

没有更多内容

加载失败,请刷新页面

加载更多

CRM、DMP、CDP都是什么?有什么区别?

Markter对CRM系统(Customer Relationship Management System,客户关系管理系统),营销自动化等概念都已经比较熟悉,也许DMP(Data Management Platform,数据管理平台)也多多少少有些了解。...

怡海软件-CRM
19分钟前
4
0
中台是什么,到底要解决什么问题?

故事的开始 这个最早由阿里在2015年提出的“大中台,小前台”战略中延伸出来的概念,最近在国内大热。阿里、腾讯、百度、京东、美团、滴滴等一众互联网巨头,从去年到今年,接连开始组织架构...

喵二狸
30分钟前
3
0
Linux Centos 7 - MySQL 5.7离线安装

内部网络通过离线包的方式进行安装。 一、下载 下载地址:https://dev.mysql.com/downloads/mysql/ 进入页面后,点击右侧链接。 下载对应版本。 通过xftp6等工具上传到服务器上。 二、安装和...

华山猛男
31分钟前
3
0
EventBus 3 全解

EventBus 3 全解 [TOC] 使用 一个基于观察者模式的事件发布/订阅框架. 用于模块间通信和解耦, 使用方便,性能高. 基本使用 1. gradle导入依赖库 implementation 'org.greenrobot:eventbus:3....

马湖村第九后羿
33分钟前
4
0
HTTP 协议

什么是HTTP协议? HTTP是hypertext transport protocol的缩写,即超文本传输协议。 是用于万维网服务器与本地浏览器之间传输超文本的传送协议。可以使浏览器更加高效,使网络传输减少。能够保...

彩色泡泡糖
43分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部