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

目录
相关文章
|
11天前
|
消息中间件 Linux
Linux:进程间通信(共享内存详细讲解以及小项目使用和相关指令、消息队列、信号量)
通过上述讲解和代码示例,您可以理解和实现Linux系统中的进程间通信机制,包括共享内存、消息队列和信号量。这些机制在实际开发中非常重要,能够提高系统的并发处理能力和数据通信效率。希望本文能为您的学习和开发提供实用的指导和帮助。
71 20
|
17天前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
65 15
|
2月前
|
监控 Unix Linux
|
2月前
|
存储 缓存 Ubuntu
Ubuntu Linux目录结构
理解Ubuntu Linux的目录结构对系统管理、维护和故障排除至关重要。每个目录都有其特定的用途和存放内容,通过了解这些目录,可以更高效地管理系统文件,确保系统的稳定运行。希望本文对你深入理解Ubuntu的目录结构有所帮助。
79 1
|
2月前
|
Linux
linux-du指令
`du`命令是Linux系统中查看磁盘使用情况的基本工具之一。通过灵活使用 `du`命令的各种选项,可以准确、高效地获取文件和目录的大小信息,有助于系统管理员进行磁盘空间管理。无论是查找大文件、分析目录结构还是排除特定类型的文件,`du`命令都提供了丰富的功能和灵活的配置。理解和掌握 `du`命令的使用,对于维护和优化Linux系统的磁盘空间至关重要。
41 4
|
3月前
|
Linux Windows
【Linux】-基本指令(下)
【Linux】-基本指令(下)
【Linux】-基本指令(下)
|
2月前
|
安全 Ubuntu Unix
【Linux】基础指令
本文介绍了Linux操作系统的基本概念及特点,强调了其开源性、多用户多任务处理能力、稳定性和安全性。文章重点讲解了多个Linux基础命令,如ls、cd、touch、mkdir、rm、man、cp、mv、cat、less、find、grep、tar等,旨在帮助初学者快速掌握Linux命令行操作,为后续深入学习奠定基础。
74 0
|
3月前
|
Linux
Linux Crontab 查看定时任务启动没
【10月更文挑战第20天】在Linux系统中,crontab用于设置周期性执行的任务。查看当前用户的Crontab任务列表,使用`crontab -l`;查看所有用户任务,使用`sudo crontab -l`或指定用户`sudo crontab -u username -l`。
146 5
|
3月前
|
Linux
【Linux第一弹】- 基本指令
【Linux第一弹】- 基本指令
46 1
|
3月前
|
Unix Linux 索引
【Linux】-基本指令(上)
【Linux】-基本指令(上)