9_Cron命令相关用法

lyysharedblogs / 2023-08-03 / 原文

Cron命令相关用法

  1. 本文将讨论Cron,它是在linux管理中最实用的程序之一,它允许你在特定的时间安排命令和任务,也叫Corn作业。

    Corn作为守护进程运行,用于执行重复性任务,比如备份、监视磁盘空间使用、使用最新的应用程序版本更新系统、发送电子邮件和轮换日志等等。我认为没有不运行几个Corn任务的linux服务器。

    crontab一词具有三种不同的含义:包含用户cron作业的文本文件被称为用户的crontab,每个用户都有这样一个文件,在Ubuntu上,这些文件位于/var/spool/cron/crontabs,只有root用户可以访问这些目录。

    还有一个叫crontab的命令用来管理指定用户,这些文件位于/var/spool/cron/的子目录中。不建议手动编辑他们,建议改用crontab命令,这将使用您首选或默认的文本编辑器打开文件,并在退出时验证文件的结构。

    显示crontab文件的内容可用:

      crontab -l
    

    一开始,用户没有crontab编辑,编辑当前用户的crontab文件,运行:

      crontab -e # -e = edit
    

    如果没有默认值,系统会提示你选择一些编辑器。

    在打开的文件中,你可以编辑你想安排的任务。举个例子,你想在每天6a.m运行一个backup脚本,所以可以在该文件中编辑:

      0 6 * * * /root/backup.sh #该行由六个字段组成,每个字段之间用空格隔开,从前到后依次是 minute hour dayofmonth month dayofweek command。注意hour是以24小时为计数的,dayofweek范围是0-7,星期日可以用0或7表示。
    

    还比如你想安排一个每分钟监视磁盘空间使用的任务:

      * * * * * /root/check_space.sh
    

    还比如你想在凌晨4点、6点和10点运行任务,所以分钟为零,在各个时间点之间加逗号:

      0 4,6,10 * * * /root/check_space.sh
    

    还比如你希望任务在工作日的晚上9点至5点之间运行,每小时一次:

      0 9-17 * * 1-5 /root/firewall.sh
    

    还比如你希望在固定的时间间隔内执行某任,比如每隔三天在4点和21点运行一次任务:

      0 4,21 * */3 * /root/task.sh
    

    还有几个cron宏用于指定最常用的间隔:

    比如每年或者每年将在1月1日午夜运行一次指定的命令/每个月

      @yearly /root/happy_new_year
      @monthly /root/task.sh
      @weekly /root/task.sh
      @daily /root/path_to_script.sh
      @hourly /root/path_to_script.sh
      @reboot /root/firewall.sh
    

    比武我想