Linux系统管理-定时任务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统管理-定时任务相关的知识,希望对你有一定的参考价值。

  Linux提供了crontab和at命令使用户可以对任务进行调度安排,让任务在指定的时间自动运行并完成相关的工作

  1、crontab设置周期性的定时任务

    crontab可以根据分、时、日、月、周的组合来调度任务自动执行。用户只要在crontab中设置好任务的启动时间即可。

    1.1、命令格式:

      crontab [-u user] file

      crontab [-u user] [-l | -r | -e | -i | -s] 

      -u user :指定更改的是哪个用户的计划任务。如果不设置,则默认会更改当前运行命令用户的计划任务列表。改选只有root用户能使用,一般用户只能更改自己的任务列表

      -l    :输出当前的计划任务列表    

      -r    :删除当前的计划任务列表

      -e      :更改用户的计划任务列表

      -i     :与-r相同,但删除计划任务列表时会提示用户确认  

    crontab命令来源于crond服务,在执行crontab命令时要先确认crond服务有没有启动。

      技术分享

    1.2编辑计划任务

      使用命令crontab -e 即可进入计划任务的编辑界面。编辑计划任务的格式如下:

      分(0~59)  时(0~23)  日(1~31)  月(1~12)  周(0~7,0,7代表周日)  可执行语句(一般是可执行脚本的快捷方式)

      *  :匹配范围内任意时间

      ,  :表示多个不连续的时间 (周:1,3,5 表示每周1,3,5)

      -  :表示连续时间(日:1-4 表示每月的1到4号)

      /n  :指定时间频率 例如(时:6~12/2 表示6~12点每隔两个小时)

      举例:创建test.sh脚本,在脚本中输入“/bin/date >> /tmp/test.log”,并对这个脚本赋予x权限 chmod +x test.sh

      创建计划任务:crontab -e

      * * * * * /root/test.sh   #每分钟执行一次脚本

      技术分享

      使用tail -f 命令查看/tmp/test.log文件则会看到每过一分钟就会有新的内容输入到这个文件中

      技术分享

    1.3、计划任务授权

      Linux系统默认所有人都可以查看和使用计划任务,通过白名单和黑明单可以控制那些用户可以使用计划任务。

      /etc/cron.allow  :白名单

      /etc/cron.deny  :黑明单

      .allow文件的优先级高,若allow文件存在,则允许指定用户使用,否则检查.deny文件的用户,除指定用户外的所有用户都有权使用crond服务。若这两个文件都不存在,则只允许root用户使用

    1.4、系统默认的计划任务

      全局配置文件:/etc/crontab

      系统计划任务:/etc/cron.hourly/*

             /etc/cron.daily/*

             /etc/cron.weekly/*

             /etc/cron.monthly/*

 

 

      

 

    

    

 

以上是关于Linux系统管理-定时任务的主要内容,如果未能解决你的问题,请参考以下文章

[Linux]系统管理: 进程管理(ps/top/pstree/kill/pkill), 工作管理, 系统资源查看, 系统定时任务

Linux系统之部署开源gocron定时任务管理系统

Linux系统管理-定时任务

《Linux内核设计与实现》读书笔记- 定时器和时间管理

linux磁盘结构与管理

《Linux设计与实现》学习笔记——定时器和时间管理