美文网首页linux_shell
Linux强大的定时任务-Crontab

Linux强大的定时任务-Crontab

作者: 天問_专注于大前端技术 | 来源:发表于2021-10-26 14:04 被阅读0次

    linux内置的cron进程能帮我们实现各种各样的定时任务,例如:每周重启服务器、定时清理日志logs、定时刷数据、定时发邮件等等。
    cron搭配shell脚本,可以执行非常复杂的指令,实现非常复杂的业务,真可谓是简单又强大。

    Linux Crontab

    Crontab介绍

    我们经常使用的是crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件。

    • /var/spool/cron/ 目录下存放的是每个用户包括rootcrontab任务,每个任务以创建者的名字命名。
    • /etc/crontab 这个文件负责调度各种管理和维护任务。
    • /etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
    • 我们还可以把脚本放在/etc/cron.hourly/etc/cron.daily/etc/cron.weekly/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。
    • /var/spool/mail 目录存放着各种定时任务的执行日志,方便查看脚本任务的执行情况、报错信息等等。

    Crontab使用

    常用命令:

    • crontab -e 编辑任务列表,执行命令后会进入vim编辑模式,每一行是一条任务命令。当然也可以直接进入/var/spool/cron/目录,编辑对应的任务配置文件。
    • crontab -l 查看任务列表
    • crontab -r 删除任务列表

    注意: 任务配置文件做好备份,不要轻易使用crontab -r命令。

    • 例:
    * * * * * /root/app/shell/run.sh 
    

    说明: 此例 每分钟 执行一次 /root/app/shell/ 目录中的 run.sh 脚本。

    提示: 每个 * 之间有一个空格,* 与脚本之间也有一个空格。

    crontab时间格式说明

    * 含义 范围
    第一个 * 一小时当中的第几分钟 0-59
    第二个 * 一天当中的第几小时 0-23
    第三个 * 一月当中的第几天 1-31
    第四个 * 一年当中的第几月 1-12
    第五个 * 一周当中的星期几 0-7(0和7都是星期天)
    • crontab范例
    */5 * * * *             每五分钟执行      
    0 * * * *               每小时执行        
    0 0 * * *               每天执行          
    0 0 * * 0               每周执行          
    0 0 1 * *               每月执行          
    0 0 1 1 *               每年执行          
    0 */12 * * *            每12小时执行      
    3,15 * * * * xx.sh      每小时的第3和第15分钟执行
    3,15 8-11 * * * xx.sh   在上午8点到11点的第3和第15分钟执行
    3,15 8-11 */2 * * xx.sh 每隔两天的上午8点到11点的第3和第15分钟执行
    3,15 8-11 * * 1 xx.sh   每周一上午8点到11点的第3和第15分钟执行
    0 23-7/1 * * * xx.sh    晚上11点到早上7点之间,每隔一小时执行
    

    特别说明: /前后没有空格,其他每个字符间都有空格,切记、切记、切记。)


    欢迎访问:个人博客地址

    相关文章

      网友评论

        本文标题:Linux强大的定时任务-Crontab

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