Linux之crontab -e定时任务

inux内置的cron进程能帮我们实现这些需求,cron搭配shell脚本

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

  • /var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名

  • /etc/crontab 这个文件负责调度各种管理和维护任务。

MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号

HOME=/ //使用者运行的路径,这里是根目录

run-parts 注意”run-parts”这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了

02   4   *   *   *     root run-parts /etc/cron.daily           //每天执行/etc/cron.daily内的脚本  
  • /etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。

  • 我们还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。

crontab命令选项:

 -u指定一个用户

 -l列出某个用户的任务计划

 -r删除某个用户的任务(不添加用户即删除所有的任务)

 -e编辑某个用户的任务

cron文件语法:

  分     小时    日       月       星期     命令

  0-59   0-23   1-31   1-12     0-6     command     (取值范围,0表示周日一般一行对应一个任务)

   Minute  Hour   Day    Month   Dayofweek   command
   分钟      小时      天     月        天每星期       命令

 记住几个特殊符号的含义:

     “*”代表取值范围内的数字,
     “/”代表”每”,
     “-”代表从某个数字到某个数字,
     “,”分开几个离散的数字
30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]
 
25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]
 
*/15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]
 
30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls 命令。 ]

新增调度任务可用两种方法

在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。

查询定时任务执行

linux 看 /var/log/cron这个文件就可以,可以用tail -f /var/log/cron观察

tail -f /var/log/cron

原文链接:https://blog.csdn.net/weixin_41831919/article/details/108542764

posted @ 2022-08-05 12:11  panbin_2006  阅读(644)  评论(0编辑  收藏  举报