美文网首页
Linux 定时任务

Linux 定时任务

作者: 加帆 | 来源:发表于2016-09-19 21:46 被阅读74次

开笔

最近在做数据收集涉及到一些日志文件轮转切割,笔者想用一个定时任务来实现定时轮转。调研后决定使用 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 命令,实际就是每天凌晨进行日志轮转

相关文章

  • day 17

    第13章 Linux系统定时任务Cron(d)服务应用实践 1.1、Linux定时任务 1.1.1、什么是定时任务...

  • linux crontab: 定时任务

    参考 crontab 定时任务 Linux之crontab定时任务

  • linux Crontab

    Linux Crontab:Linux中用于执行定时任务的工具crontab -e:编辑定时任务crontab -...

  • 定时任务

    Linux定时任务 什么是定时任务: 周期性的执行任务计划的软件,linux里定时任务常用软件有:Crond 使用...

  • day17

    Linux系统定时任务 3W1H 框架 Linux系统定时任务: 1、什么是定时任务? 周期性的执行任务计划的软件...

  • day17-Linux系统定时任务

    Linux系统定时任务 1.什么是定时任务? 周期性的执行任务计划的软件,Linux定时任务软件的常用软件cron...

  • 作业-第04周--课堂-Day17-linux系统定时任务Cro

    Day17 课堂笔记 1 Linux系统定时任务 1、什么是定时任务?周期性的执行任务计划的软件,Linux定时任...

  • Linux笔记

    Linux定时任务 Mysql备份 Linux+Mysql定时备份 * * * * * user task分 时 ...

  • 79.linux定时任务

    Linux定时任务 通过制定 ```crontab -e``编辑和开启定时任务

  • Linux定时任务

    Linux定时任务 centOS: 使用crontab -e //编辑 crontab -l //查看定时任务 生...

网友评论

      本文标题:Linux 定时任务

      本文链接:https://www.haomeiwen.com/subject/ucxnettx.html