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正常运行
在这里插入图片描述

目录
相关文章
|
19天前
|
监控 Unix Linux
|
1月前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
121 4
Linux系统之Ubuntu安装cockpit管理工具
|
1月前
|
Linux Windows
【Linux】-基本指令(下)
【Linux】-基本指令(下)
【Linux】-基本指令(下)
|
24天前
|
Linux
Linux Crontab 查看定时任务启动没
【10月更文挑战第20天】在Linux系统中,crontab用于设置周期性执行的任务。查看当前用户的Crontab任务列表,使用`crontab -l`;查看所有用户任务,使用`sudo crontab -l`或指定用户`sudo crontab -u username -l`。
49 5
|
1月前
|
Linux
【Linux第一弹】- 基本指令
【Linux第一弹】- 基本指令
34 1
|
1月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
275 3
|
1月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
46 3
|
1月前
|
Unix Linux 索引
【Linux】-基本指令(上)
【Linux】-基本指令(上)
|
1月前
|
Linux Shell Windows
Linux入门1——初识Linux指令
Linux入门1——初识Linux指令
26 0
Linux入门1——初识Linux指令
|
1月前
|
人工智能 Unix Linux
装杯 之 Linux指令
本文介绍了Linux操作系统的基本命令。首先欢迎各位进入Linux的世界,并展示了`ls`命令,用于列出目录下的文件和子目录。接着介绍了`pwd`命令,用于显示当前目录;`cd`命令,用于切换目录;`mkdir`命令,用于创建目录;`touch`命令,用于创建普通文件或修改文件时间戳;`rmdir`命令,用于删除空目录;以及`rm`命令,用于删除文件或目录。通过这些基本命令,你可以开始探索和管理Linux系统。