Linux学习笔记-Ubuntu下使用Crontab设置定时任务

文章目录

  • 一、概述
  • 二、基于crontab的设置
    • 2.1 基本命令说明
    • 2.2 使用-e指令编辑命令
      • 2.2.1 进入编辑模式
      • 2.2.2 指令信息格式
      • 2.2.4 开启日志
        • 1) 修改rsyslog配置文件
        • 2) 重启rsyslog
        • 3) 查看日志
      • 2.2.3 设置后之后重启服务
  • 三、示例
    • 3.1 每隔一分钟往文件中日期
    • 3.2 使用-l查看任务列表
    • 3.3 使用-r删除所有任务
    • 3.4 设置定时关机
  • 总结

白衣沽酒绮罗生
百代繁华一朝都,谁非过客;千秋明月吹角寒,花是主人。
网图,侵删

一、概述

crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。
通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
通过Crontab我们可以设置按照按照固定的周期执行某一些操作。
测试用Ubuntu系统信息:

Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-83-generic x86_64)

二、基于crontab的设置

2.1 基本命令说明

crontab [-u username] filepath
crontab [-u username] [-l|-e|-r]
  • -u:此参数为root账户用于给其他用户设置周期任务使用,仅root账户可用;
  • -e:编辑crontab的内容;
  • -l:查看crontab的内容;
  • -r:移除所有crontab的内容,若紧要移除其中一项,需要使用-e进行编辑;
  • filepath:通过文件路径指定要定期致性的文件,建议使用绝对路径。

2.2 使用-e指令编辑命令

2.2.1 进入编辑模式

zero@ubuntu:/etc$ crontab -e		# 直接使用-e指令编辑信息
no crontab for zero - using an empty one		# 初次使用提示当前没有信息Select an editor.  To change later, run 'select-editor'.		# 要求选择默认的编辑器1. /bin/nano        <---- easiest2. /usr/bin/vim.basic3. /usr/bin/vim.tiny4. /bin/edChoose 1-4 [1]: 2		# 我选了了2
crontab: installing new crontab
zero@ubuntu:/etc$

设置完之后会自动打开编辑器用于编辑指令,可以看到基本的提示内容:
在这里插入图片描述
这是vim编辑界面,编辑完成后“:wq”就可以保存退出了。

2.2.2 指令信息格式

crontab的工作内容包括6个字段,5个时间参数以及一个指令:

字段分钟小时日期月份指令
数字范围0-590-231-311-120-7具体的指令

特殊字符和注意信息:

  • 周的数字代表的是星期几,0和7都代表星期天;
  • *(星号):型号标识任何的意思,就是无论什么数值都符合条件;
  • ,(逗号):标识分割时段的意思,如3,6标识的是3和6都可以;
  • -(减号):代表一定的范围段,包头尾,如3-5,标识3,4,5都可以;
  • */n(斜线):标识间隔,即间隔n致性一次,如分钟设置为*/5或者0-59/5就是标识每个5分钟执行一次。

2.2.4 开启日志

ubuntu默认没有开启crontab的日志,需要手动开启日志。
通过配置rsyslog,启用crontab的日志。

1) 修改rsyslog配置文件
# 注意修改日志配置文件需要使用root权限。
zero@ubuntu:/var/log$ sudo vim /etc/rsyslog.d/50-default.conf

去掉cron日志行签名的星号,然后“:wq”保存退出。

cron.* /var/log/cron.log 

在这里插入图片描述

2) 重启rsyslog

使用service命令重启rsyslog服务。

zero@ubuntu:/var/log$ service rsyslog restart
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to restart 'rsyslog.service'.
Authenticating as: Zero (zero)
Password:
==== AUTHENTICATION COMPLETE ===
3) 查看日志

重启之后,crontab有操作时,会发现文件中出现了日志文件。
在这里插入图片描述

使用tail查看日志

zero@ubuntu:/var/log$ tail /var/log/cron.log
Nov 22 03:10:01 ubuntu CRON[2030]: (root) CMD (test -e /run/systemd/system || SERVICE_MODE=1 /sbin/e2scrub_all -A -r)
Nov 22 03:10:13 ubuntu crontab[2036]: (root) BEGIN EDIT (root)
Nov 22 03:10:25 ubuntu crontab[2036]: (root) REPLACE (root)
Nov 22 03:10:25 ubuntu crontab[2036]: (root) END EDIT (root)

2.2.3 设置后之后重启服务

设置完指令之后需要重启crontab服务才能正常执行任务。

zero@ubuntu:/mnt$ service cron restart		# 重启服务的指令
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to restart 'cron.service'.
Authenticating as: Zero (zero)
Password:
==== AUTHENTICATION COMPLETE ===
zero@ubuntu:/mnt$

**注:**亦可以通过service查看状态:

zero@ubuntu:/mnt$ service cron status
● cron.service - Regular background program processing daemon#                                                 开机自启动Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)# 状态:运行中Active: active (running) since Tue 2023-11-21 02:59:00 UTC; 22h agoDocs: man:cron(8)Main PID: 861 (cron)Tasks: 1 (limit: 4516)Memory: 500.0KCPU: 491msCGroup: /system.slice/cron.service└─861 /usr/sbin/cron -f -PNov 22 01:12:01 ubuntu CRON[2819]: (CRON) info (No MTA installed, discarding output)
Nov 22 01:12:01 ubuntu CRON[2819]: pam_unix(cron:session): session closed for user zero
Nov 22 01:13:01 ubuntu CRON[2829]: pam_unix(cron:session): session opened for user zero(uid=1000) by (uid=0)
Nov 22 01:13:01 ubuntu CRON[2830]: (zero) CMD (sudo cat "test" >> /mnt/test.txt)
Nov 22 01:13:01 ubuntu CRON[2829]: (CRON) info (No MTA installed, discarding output)
Nov 22 01:13:01 ubuntu CRON[2829]: pam_unix(cron:session): session closed for user zero
Nov 22 01:14:01 ubuntu CRON[2832]: pam_unix(cron:session): session opened for user zero(uid=1000) by (uid=0)
Nov 22 01:14:01 ubuntu CRON[2833]: (zero) CMD (sudo cat "test" >> /mnt/test.txt)
Nov 22 01:14:01 ubuntu CRON[2832]: (CRON) info (No MTA installed, discarding output)
Nov 22 01:14:01 ubuntu CRON[2832]: pam_unix(cron:session): session closed for user zero

三、示例

3.1 每隔一分钟往文件中日期

# m h  dom mon dow   command
*/1 * * * * date >> /tmp/test.txt

几分钟之后查看文件结果如下:

zero@ubuntu:/tmp$ cat test.txt
Wed Nov 22 02:19:01 AM UTC 2023
Wed Nov 22 02:20:01 AM UTC 2023
Wed Nov 22 02:21:01 AM UTC 2023
Wed Nov 22 02:22:01 AM UTC 2023
Wed Nov 22 02:23:02 AM UTC 2023
Wed Nov 22 02:24:01 AM UTC 2023
Wed Nov 22 02:25:01 AM UTC 2023
Wed Nov 22 02:26:01 AM UTC 2023
Wed Nov 22 02:27:01 AM UTC 2023
Wed Nov 22 02:28:01 AM UTC 2023

**注:**所操作的文件需要具有权限。

3.2 使用-l查看任务列表

使用-l可以直接查看具体的任务,注意任务是按照用户划分的,不同用户查看具有不一样的结果:
这是默认用户查看:

zero@ubuntu:/tmp$ crontab -l
40 10 * * * sudo shutdown -h now

这是以管理员权限查看:

zero@ubuntu:/tmp$ sudo crontab -l
# m h  dom mon dow   command

管理员是空的。

3.3 使用-r删除所有任务

使用-r参数会删除crontab中的所有的任务清单。
删除后再次查看就会提示没有任何任务。

zero@ubuntu:/tmp$ crontab -r
zero@ubuntu:/tmp$ crontab -l
no crontab for zero

3.4 设置定时关机

关机需要使用root权限,设置时需要用sudo切换权限。

zero@ubuntu:~$ sudo crontab -l

关机指令如下:

# 分 时8 4 * * * shutdown -h now

总结

使用crontab可以便捷的设置定时任务,有助于执行一些定时任务,指令也可以通过脚本,这样可以一次执行多个指令并进行一些比较复杂的操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/162408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

越南服务器租用:企业在越南办工厂的趋势与当地(ERP/OA等)系统部署的重要性

近年来&#xff0c;越南逐渐成为全球企业布局的热门目的地之一。许多企业纷纷选择在越南设立工厂&#xff0c;以利用其低廉的劳动力成本和优越的地理位置。随着企业在越南的扩张&#xff0c;对于当地部署ERP系统或OA系统等的需求也日益增长。在这种情况下&#xff0c;租用越南服…

上海亚商投顾:北证50指数持续大涨 短剧概念股再爆发

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 沪指昨日震荡调整&#xff0c;深成指跌超1.4%&#xff0c;创业板指跌超1.7%。北证50指数大涨超8%&#xff0c;…

ROS设置DHCP option121

配置时&#xff0c;了解格式很关键&#xff0c;16进制填写格式如下&#xff1a; 将要访问的IPV&#xff14;地址&#xff1a;192.168.100.0/24 192.168.30.254 转换为&#xff1a;掩码 目标网段 网关 0x18c0a864c0a81efe&#xff0c;0不用填写 ROS配置如下图&#xff1a; 抓…

MacOS “xxxxx“,已损坏,无法打开,你应该将它移到废纸篓

在这里插入图片描述 解决方案 应用程序 - 实用工具中打开终端&#xff0c;输入命令&#xff0c; sudo xattr -r -d com.apple.quarantine 然后将程序拖放至命令窗口&#xff0c;如下图&#xff1a;

【开源】基于JAVA的在线课程教学系统

项目编号&#xff1a; S 014 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S014&#xff0c;文末获取源码。} 项目编号&#xff1a;S014&#xff0c;文末获取源码。 目录 一、摘要1.1 系统介绍1.2 项目录屏 二、研究内容2.1 课程类型管理模块2.2 课程管理模块2…

【深度学习】卷积神经网络(CNN)

一、引子————边界检测 我们来看一个最简单的例子&#xff1a;“边界检测&#xff08;edge detection&#xff09;”&#xff0c;假设我们有这样的一张图片&#xff0c;大小88&#xff1a; 图片中的数字代表该位置的像素值&#xff0c;我们知道&#xff0c;像素值越大&#…

QQ怎么备份聊天记录?3个方法教你快速备份!

QQ聊天记录作为用户和亲人、好友以及同事之间沟通的凭证&#xff0c;可以帮助我们回忆起过去的交流内容。如果我们不小心误删了QQ聊天记录或者更换了新手机&#xff0c;那么这时候就需要备份聊天记录。qq怎么备份聊天记录呢&#xff1f;本文将介绍3个简单方法&#xff0c;帮助您…

MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况

目录 一、索引 1.1、简单介绍 1.2、索引的分类 1.2.1、主键索引 1.2.2、单值索引&#xff08;单列索引、普通索引&#xff09; 1.2.3、唯一索引 1.2.4、复合索引 1.2.5、复合索引经典问题 1.3、索引原理 1.3.1、主键自动排序 1.3.2、索引的底层原理 1.3.3、B 树和 B…

创作4周年

&#x1f64c;秋名山码民的主页 &#x1f602;oi退役选手&#xff0c;Java、大数据、单片机、IoT均有所涉猎&#xff0c;热爱技术&#xff0c;技术无罪 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; 获取源码&#xff0c;添加WX 目录 前言机…

哈希表-set、map

当需要判断一个元素是否在集合中时&#xff0c;就使用哈希法 散列表&#xff08;Hash table&#xff0c;也叫哈希表&#xff09;&#xff0c;是根据键&#xff08;Key&#xff09;而直接访问在内存存储位置的数据结构。 哈希表中关键码就是数组的索引下标&#xff0c;然后通过…

app小程序开发的重点在哪里?|企业软件定制网站建设

app小程序开发的重点在哪里&#xff1f;|企业软件定制网站建设 App小程序定制开发是近年来快速发展的一项技术服务&#xff0c;随着移动互联网的普及和用户需求的不断升级&#xff0c;越来越多的企业和个人开始关注和需求定制化的小程序开发。那么&#xff0c;对于app小程序定制…

Springboot_文件下载功能(前端后端)

遇到的问题&#xff1a; 文件下载后文件一直被破坏&#xff0c;无法正常打开文件名乱码&#xff0c;如图 刚开始一直在纠结&#xff0c;是不是后端没有写对&#xff0c;然后导致下载不能使用 后来搜索了一些资料&#xff0c;发现后端没什么问题 然后就开始找到其他项目对比…

头发的方向图(2D和3D)与合成

首先&#xff0c;我们从一个不受光照限制的环境中拍摄一组输入图像&#xff0c;这些图像包含了头发的不同视角和姿态。我们对这些图像进行半自动的分割&#xff0c;将头发从背景中分离出来&#xff0c;然后使用PMVS &#xff0c;一种先进的多视角立体算法&#xff0c;来重建一个…

广播组播、本地套接字通信、wireshark、以太网帧格式、三次握手四次挥手

广播&#xff08;使用 UDP 套接字&#xff09; 广播地址&#xff1a;主机号最大的地址。 广播&#xff1a;给所在局域网的所有主机发送数据报。&#xff08;之前的数据报发送方式是单播。&#xff09; 以下情况中使用广播&#xff1a; 局域网 搜索协议。 比如家中的智能产品&a…

局域网共享打印机共享,简单至简至一键处理011bDll等问题

一、电脑系统是否激活&#xff08;可选&#xff09; 二、确保主客户端PC在同一局域网内&#xff08;可选&#xff09; 可以通过ping 目标地址 如ping 192.168.1.202&#xff1b;看是否可以正常通信 下面是惠普类型打印机共享问题关键&#xff08;文本记得保存&#xff09; …

双11再创新高!家电行业如何通过矩阵管理,赋能品牌增长?

双11大促已落下帷幕&#xff0c;虽然今年不再战报满天飞&#xff0c;但从公布的数据来看&#xff0c;家电行业整体表现不俗。 根据抖音电商品牌业务发布的收官战报&#xff0c;家电行业创造了成交新纪录&#xff0c;整体同比增长125%。快手官方数据显示&#xff0c;消电家居行业…

深入理解JMM以及并发三大特性(1)

文章目录 1. 并发与并行2. JMM3. 并发三大特性4.总结 1. 并发与并行 并行&#xff1a;指在同一时刻&#xff0c;有多条指令在多个处理器上同时执行。所以无论从微观还是宏观来看&#xff0c;二者都是一起执行的。 并发&#xff1a;指在同一时刻只能有一个指令执行&#xff0c;…

基于springboot实现校园在线拍卖系统项目【项目源码】

基于springboot实现校园在线拍卖系统演示 Javar技术 JavaScript是一种网络脚本语言&#xff0c;广泛运用于web应用开发&#xff0c;可以用来添加网页的格式动态效果&#xff0c;该语言不用进行预编译就直接运行&#xff0c;可以直接嵌入HTML语言中&#xff0c;写成js语言&…

Modbus转Profinet改变局面,PLC与电力仪表秒级响应

Modbus转Profinet改变了传统的局面&#xff0c;实现了PLC与电力仪表之间的秒级响应。在过去&#xff0c;由于Modbus通信协议的限制&#xff0c;PLC与电力仪表之间的数据传输速度受到了很大的限制&#xff0c;无法满足工业自动化领域对实时性的要求。然而&#xff0c;随着Modbus…

【云原生 Prometheus篇】Prometheus架构详解与核心组件的应用实例(Exporters、Grafana...)

Prometheus Part1 一、常用的监控系统1.1 简介1.2 Prometheus和zabbix的区别 二、Prometheus2.1 简介2.2 Prometheus的主要组件1&#xff09;Prometheus server2&#xff09;Exporters3&#xff09;Alertmanager4&#xff09;Pushgateway5&#xff09;Grafana 2.3 Prometheus的…