Linux Crontab 定时任务 及 Ubuntu 中cron指令使用

简介: 本文是博主学习linux定时任务的记录,希望对大家有所帮助

linux内置的cron进程能帮我们实现很多自动化需求,利用cron搭配shell脚本,即便十分复杂的指令也没有问题。
# 介绍
我们经常使用的是crontab命令是cron table的简写,我们可以在以下文件夹内找到相关配置文件。

  • /var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名
  • /etc/crontab 这个文件负责调度各种管理和维护任务。
  • /etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
  • 还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。

使用

常用的命令如下:

crontab [-u username]    //username表示操作当前用户的crontab
         -e      (编辑工作表)
         -l      (列出工作表里的命令)
         -r      (删除工作作)

编辑任务列表

crontab -e

使用crontab -e进入当前用户的工作表编辑,每一行都是一个定时任务。
在这里插入图片描述

crontab格式

crontab的命令构成为 时间+动作

时间构成

    Linux
    *    *    *    *    *
    -    -    -    -    -
    |    |    |    |    |
    |    |    |    |    +----- day of week (0 - 7) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    |    |    |    +---------- month (1 - 12) OR jan,feb,mar,apr ...
    |    |    +--------------- day of month (1 - 31)
    |    +-------------------- hour (0 - 23)
    +------------------------- minute (0 - 59)
字段 是否必填 允许值 允许特殊字符 备注
Minutes 0–59 * , -
Hours 0–23 * , -
Day of month 1–31 * , -
Month 1–12 or JAN–DEC * , -
Day of week 0–7 or SUN–SAT * , - Linux的允许值为0-7,0和7为周日

实例

  • 每1分钟执行一次 test.sh
* * * * * test.sh
  • 每小时的第3和第15分钟执行
3,15 * * * * test.sh
  • 每一小时执行
0 */1 * * * test.sh
  • 每周一上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 test.sh

在Ubuntu 16.04上启动crontab

使用systemctl start cronb启动crontab,发现如下报错

Failed to start cronb.service: Unit cronb.service not found.

因为Ubuntu 16.04上的服务名称是cron不是crond

使用systemctl start cron,就正常启动了

检查Ubuntu的cron状态

ps -ef | grep cron

systemctl status cron.service

service cron status

/etc/init.d/cron status

以上四种方式都可以,出现active表示cron正常运行
在这里插入图片描述

目录
相关文章
|
10天前
|
存储 运维 监控
运维.Linux下执行定时任务(中:Cron的常用替代方案)
本文是关于Linux下执行定时任务系列的第二部分,主要探讨除了Cron之外的常用替代方案。介绍了Systemd Timers、Anacron及at命令三种工具,它们分别适用于不同场景下的定时任务需求。文章详细分析了每种工具的特点、工作原理、基本使用方法及其高级功能,并对比了它们各自的优缺点,帮助读者根据实际情况选择最适合的定时任务解决方案。此外,还提供了指向具体实例和进一步阅读材料的链接。
42 4
运维.Linux下执行定时任务(中:Cron的常用替代方案)
|
2天前
|
Ubuntu Linux Windows
如何在WSL中的ubuntu编译Linux内核并且安装使用ebpf?
请注意,在WSL1中可能会由于内核架构限制而无法成功进行以上过程,WSL2对于Linux内核的完整支持更为合适。此外,部分步骤可能因不同的Linux发行版或内核版本而异。
9 4
|
7天前
|
Linux Go
Linux——windows10下的Ubuntu18.04安装并配置go环境
Linux——windows10下的Ubuntu18.04安装并配置go环境
19 1
|
11天前
|
存储 Linux
Linux专栏08:Linux基本指令之压缩解压缩指令
Linux专栏08:Linux基本指令之压缩解压缩指令
28 4
|
11天前
|
Linux
Linux专栏09:Linux基本指令之时间日期指令及关机重启指令
Linux专栏09:Linux基本指令之时间日期指令及关机重启指令
22 2
|
4天前
|
存储 监控 Unix
|
5天前
|
Ubuntu Linux 开发工具
Linux Ubuntu 20.04.6 Intel WiFi6 Ax411 1690i Ax1690i Killer 解决无线网卡识别不出来问题
Linux Ubuntu 20.04.6 Intel WiFi6 Ax411 1690i Ax1690i Killer 解决无线网卡识别不出来问题
15 0
|
5天前
|
安全 Unix Linux
【Linux】基本指令
【Linux】基本指令
|
6天前
|
存储 Linux 开发工具
【Linux】常见指令(下)
【Linux】常见指令(下)
|
6天前
|
存储 Linux 网络安全
【Linux】常见指令(上)
【Linux】常见指令(上)