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

目录
相关文章
|
4月前
|
Linux 数据安全/隐私保护
Linux文件权限调整:chmod指令解析
在日常使用或系统管理中,对 `chmod`的熟练应用是提高工作效率和维持系统稳定性的关键。掌握如何给予或限制权限是每个Linux使用者都应该具备的技能。
315 17
|
4月前
|
Ubuntu 安全
修复Ubuntu系统文件损坏问题:手动fsck指令
总结一下,使用 `fsck`修复文件系统是一个复杂的过程,涉及到诊断问题、安全卸载文件系统、执行检查与修复、并且通常在维护模式下完成。这个过程对于维护系统的健康和稳定至关重要。虽然命令和步骤可以按照标准手册执行,但每个系统的具体情况可能都有所不同,因此修复操作需要对系统和维护命令有所了解。在执行这一系列操作时请确保谨慎,并对系统有一定的认识,以避免不必要的数据丢失。
726 8
|
5月前
|
Ubuntu Linux UED
Ubuntu和Debian系统与Hat Linux系列的使用比较
所以,如果你想搞一个家用服务器,或者是个人使用,喜欢新鲜事物,那Ubuntu可能是你的最好选择。如果你需要一个在商业环境中经受住考验的系统,那Fedora或CentOS可能更符合你的口味。不过记住,CentOS现在是CentOS Stream,中途换马了,所以如果你是稳定性的极端追求者,可能得考虑一下这一变化。而Debian,则适合那些对稳定性需求极高,不太追求软件版本新旧的用户。
171 26
|
4月前
|
移动开发 Linux Windows
Linux常用基本指令
对Linux中常用命令,包括文件创建与销毁,压缩与打包,查看搜索文件的方式等指令的介绍
221 1
|
4月前
|
监控 Ubuntu 安全
Ubuntu系统全常用操作指令
本文汇总了Ubuntu系统下与域控制器交互的常用命令和文件操作技巧,涵盖文件管理、权限控制、网络通信、共享挂载及软件包管理等方面,助你高效运维与快速排查问题。
357 0
|
5月前
|
Ubuntu 搜索推荐 Linux
Ubuntu/Debian Hat系Linux的便捷操作指南
总的来说,虽然Ubuntu/Debian和Red Hat系列在操作方法上有所不同,但基本概念类似。掌握了包管理和服务管理,可以应对大多数常见的系统管理任务。同时,这两个系统都有丰富的在线资源可以查询,不管你在任务中遇到什么困难,搜索引擎都能帮你找到答案。这些基本技能能让你在Linux的世界里更加自如。
140 26
|
5月前
|
Ubuntu Linux Shell
Linux环境下VSCode快速安装终极指南:debian/ubuntu/linux平台通用
以上就是在Linux环境下安装VSCode的终极指南,抛开繁复的专业词汇,以平易近人的文字、形象生动的比喻让你轻松学会这一过程。别忘了,你的小伙伴VSCode已经在应用菜单里等你了!
1292 23
|
6月前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
348 32
|
7月前
|
Ubuntu Linux 编译器
在Ubuntu Linux系统下如何搭建并安装EDK2
以上就是在Ubuntu Linux系统下搭建并安装EDK2的过程。这个过程可能会有些复杂,但只要按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,都可以在网上找到相应的解决方案。希望这个指南能对你有所帮助!
248 17
|
5月前
|
存储 人工智能 Unix
Linux常见指令汇总
最常见的就是 ll (为ls -l的省略)
182 0