crontab -e 系统定时任务

news2025/1/24 17:59:51

crontab -e解释

crontab 是由 “cron” 和 “table” 两个单词组成的缩写。其中,“cron” 是一个在 Linux 和类 Unix 操作系统中用于定时执行任务的守护进程,而 “table” 则是指一个表格或者列表,因此 crontab 就是一个用于配置和管理定时任务列表的命令。

crontab -e 是一个用于编辑 crontab 文件的命令。crontab 文件是一个用于定时执行任务的文件,其中包含了一系列的命令和任务,系统会按照预定的时间间隔来执行这些任务。

使用 crontab -e 可以编辑当前用户的 crontab 文件,可以添加、删除和修改定时任务。

语法格式:

crontab [-u user] [-l | -r | -e] [-i] [-s] [-v] [-x [num]] [file]

参数说明:

  • -u user:指定要编辑的用户的 crontab 文件,默认为当前用户。
  • -l:列出当前用户的 crontab 文件内容。
  • -r:删除当前用户的 crontab 文件。
  • -e:编辑当前用户的 crontab 文件。
  • -i:在删除 crontab 文件时进行确认提示。
  • -s:显示 crontab 文件的状态信息。
  • -v:显示 crontab 命令的版本信息。
  • -x [num]:设置 crontab 文件的加密级别,默认为 0,不加密。num 可以是 0~9 之间的任意数字。
  • file:指定要安装的 crontab 文件。

使用方法:

  1. 打开终端,输入 crontab -e 命令进入编辑模式。

  2. 编辑 crontab 文件,格式如下:

* * * * * command
- - - - -
| | | | |
| | | | ----- Day of the week (0 - 7) (Sunday is both 0 and 7)
| | | ------- Month (1 - 12)
| | --------- Day of the month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)

其中,星号代表任意值,可以使用数字或者范围表示具体的时间。command 是要执行的命令。

例如,下面的命令表示每天的 0 点执行一次 backup.sh 脚本:

0 0 * * * /home/user/backup.sh
  1. 保存并退出编辑模式,可以使用 Ctrl + X 然后按 Y 确认保存。

  2. 如果需要查看当前用户的 crontab 文件,可以使用 crontab -l 命令。

  3. 如果需要删除当前用户的 crontab 文件,可以使用 crontab -r 命令。

注意事项:

  1. crontab 命令只能编辑当前用户的 crontab 文件,如果需要编辑其他用户的文件需要使用 sudo 权限。

  2. crontab 文件中的命令需要使用绝对路径,否则可能会出现找不到命令的情况。

  3. crontab 文件中的命令会在后台执行,不会在终端中显示输出结果,如果需要查看输出结果可以使用日志文件记录。

  4. crontab 文件的时间设置需要按照格式要求,否则可能会导致任务无法执行。

crontab分系统级别和用户级别

使用 crontab -e 命令编辑的是当前用户的 crontab 文件,而使用 cat /etc/crontab 命令查看的是系统范围内的 crontab 文件。这两个文件虽然都是用于配置和管理定时任务列表,但是它们的位置和作用略有不同。

具体来说,/etc/crontab 文件是系统范围内的 crontab 文件,可以包含多个任务定义,每个任务定义需要指定要执行的命令以及执行的时间和频率。该文件通常由系统管理员维护,用于配置系统级别的定时任务,例如在固定时间备份系统数据、更新系统软件等。

而 crontab -e 命令编辑的是当前用户的 crontab 文件,该文件只包含当前用户的任务定义。每个用户都可以编辑自己的 crontab 文件,用于配置和管理个人级别的定时任务,例如在固定时间备份个人数据、执行自动化脚本等。

因此,crontab -e 编辑后的内容和 cat /etc/crontab 看到的不一样是正常的,因为它们对应了不同的任务列表。如果需要查看当前用户的 crontab 文件内容,可以使用 crontab -l 命令;如果需要查看系统范围内的 crontab 文件内容,可以使用 cat /etc/crontab 命令。

添加系统级别定时任务

要添加系统级别的定时任务,可以使用以下步骤:

  1. 以 root 用户身份登录系统。

  2. 打开 /etc/crontab 文件,例如使用 vim 编辑器:

sudo vim /etc/crontab
  1. 在文件末尾添加任务定义,例如:
# m h dom mon dow user  command
30 1 * * * root /usr/local/bin/backup.sh

在这个例子中,任务定义的格式和含义与普通用户的 crontab 文件相同,分别表示任务执行的分钟、小时、日期、月份、星期和要执行的命令。不同之处在于,这里还需要指定要以哪个用户的身份运行命令,例如 root 用户。

  1. 保存并关闭文件。

  2. 重启 cron 服务,以便使新的任务定义生效:

sudo service cron restart
  1. 验证任务是否生效,可以查看 /var/log/syslog 文件中的日志信息,例如:
sudo tail -f /var/log/syslog | grep backup.sh

如果看到类似以下的日志信息,则表示任务已经成功执行:

Aug  1 01:30:00 hostname CRON[1234]: (root) CMD (/usr/local/bin/backup.sh)

需要注意的是,对系统级别的 crontab 文件的修改需要谨慎操作,以免错误地删除或修改了重要的定时任务。另外,如果需要添加个人级别的定时任务,则应该在当前用户的 crontab 文件中进行编辑。

crontab -e

cat /etc/crontab 命令用于查看系统中的 crontab 文件。crontab 是一个用于定时执行任务的文件,其中包含了一系列的命令和任务,系统会按照预定的时间间隔来执行这些任务。在 Linux 系统中,crontab 文件通常位于 /etc/crontab 或者 /var/spool/cron 目录中,用于配置和管理定时任务列表。

使用 cat /etc/crontab 命令可以查看系统中的 crontab 文件内容,以便了解系统中已经配置的定时任务。该命令会输出 crontab 文件的所有内容,包括注释和任务定义。需要注意的是,只有拥有 root 权限的用户才能查看 /etc/crontab 文件,普通用户无法查看该文件。

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

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

相关文章

PHP 单笔转账到支付宝账户,支付宝公钥证书实现版本

支付宝某些业务只能使用公钥证书方式来验签 如:即使转账 红包等 笔者就要实现这样一个功能,【单笔转账到支付宝账户】,采用支付宝公钥证书签名来实现。 话不多说,流程先走起 第一步:下载支付宝秘钥生成器 由于我们使…

手把手教你 DVOL

分享本文在朋友圈的读者可获得本文数据和 Python 代码。留个言说已分享(不用截屏)我相信你,我会发给你百度盘下载链接。 本文长度为 6393 字,建议阅读 32 分钟 题图:SignalPlus Dashboard 0 引言 Deribit volatility (…

基于 VITA57.1 的 2 路 2GSPS/2.6GSPS/3GSPS 14bit AD 采集 FMC 子卡模块

板卡概述 FMC152 是一款基于 VITA57.1 标准的,实现 2 路 14-bit、2GSPS/2.6GSPS/3GSPS AD 采集 FMC 子卡模块。该模块可直接与 FPGA 载卡配合使用,板卡 ADC 器件采用 ADI 公司的 AD9208 芯片, 与 ADI 公司的 AD9689 可以实现 PIN 脚兼容。该…

URI URL URN定义

1 定义 URI:全称Uniform Resource Identitfier,也就是统一资源标识符,可以标识互联网上某一资源,用来标识抽象或物理资源的一个紧凑字符串。 URL:全称Uniform Resource Locator,统一资源定位符&#xff0c…

【hello Linux】进程程序替换

目录 1. 程序替换的原因 2. 程序替换原理 3. 替换函数 4. 函数解释 5. 命名理解 6.简陋版shell的制作 补充: Linux🌷 1. 程序替换的原因 进程自创建后只能执行该进程对应的程序代码,那么我们若想让该进程执行另一个“全新的程序”这 便要用…

JVM系列(八) JVM 垃圾收集算法

前面我们了解了很多JVM配置垃圾回收的方式,但是具体垃圾是如何被回收的,或者说垃圾回收算法有哪些?今天我们文章主要讲解一下垃圾回收算法 1.分代收集理论 我们都知道 很早的JVM会把堆分为几个区域,新生代,老年代&am…

pandas读取Excel核心源码剖析,面向过程仿openpyxl源码实现Excel数据加载

📢作者: 小小明-代码实体 📢博客主页:https://blog.csdn.net/as604049322 📢欢迎点赞 👍 收藏 ⭐留言 📝 欢迎讨论! 今天我们将研究pandas如何使用openpyxl引擎读取xlsx格式的Excel的…

el-tabs嵌套el-upload使用

需求:1 .第一个标签展示固定字样,且不能删除,最少上传三张图片。 2. 其余标签双击可编辑字样,10字以内,可删除,均可上传图片。 3. 号按钮可点击添加标签,标签数量控制在10个以内。 4. 当标签下无…

一文学会VSCode代码同步至GitHub

一、上手GitHub 1. 了解GitHub 上手GItHub之前首先要了解一下GItHub的关键词,如下: (1) 仓库 (Repository) 仓库是用来存放项目代码,每一项目对应一个仓库。(2) 收藏 (Star) 收藏别人的仓库,方便自己查找。(3) 复制/克隆项目 (…

忆暖行动|“以前的住宿也没有这么好的环境,住的都是土房子,一下雨就哗哗掉墙皮”

常忆旧时苦 方思今日甜 新年将至,彩灯与烟火闪烁。值此佳节,我们去看望了一位65岁的退休教师,并与她进行了交谈,从奶奶的讲述中,我们了解到过去生活的不易,珍惜当下的美好生活。 迎接新年 为迎接新年&am…

base64、File、Blob、ArrayBuffer几种文件格式介绍以及互转

文章目录 关系介绍BlobFileFileReader二进制数组ArrayBuffer对象URL.createObjectURLbase64 转化file转base64blob转base64base64转blobbaes64转fileblob转fileblob转ArrayBufferfile转ArrayBuffer 关系 介绍 Blob 介绍 是一个不可变、原始数据的类文件对象本质上是js的对象 s…

后悔了怎么办 - undo日志

一、undo日志 概念: 把回滚时所需的东西都给记下来 二、事务id 给事务分配id的时机 (1)对于只读事务来说,只有在它第一次对某个用户创建的临时表执行增、删、改操作时才会为这个事务分配一 个 事务id ,否则的话是不…

4.3 转换与处理时间数据

4.3 转换与处理时间数据 4.3.1 转换字符串时间为标准时间1、Timestamp2、DatetimeIndex或者PeriodIndexDatetimeIndex与PeriodIndex函数及其参数说明 4.3.2 提取时间序列数据信息Timestamp类常用属性及说明 4.3.3 加减时间数据Timedelta类周期名称、对应单位及其说明 4.3.4 任务…

Java知识总结

https://www.bilibili.com/video/BV1ys4y1S7Lc 1、Java中线程的实现方式 为什么说本质上只有一种实现线程的方式?实现 Runnable 接口究竟比继承 Thread 类实现线程好在哪里? 实现 Runnable 接口 public class RunnableThread implements Runnable { O…

ai智能改写文案-ai同义转换

文案创作是现代广告营销中不可或缺的一环,一个好的文案不仅可以提升产品的购买率,还可以实现品牌等方面的推广。但是,文案的创作需要耗费大量的时间和精力,如果能够利用智能化技术进行改写,不仅可以大大缩短文案创作时…

JAVA内存不足导致频繁回收和swap引起的性能问题 故障重现(内存篇2)

背景起因: 记起以前的另一次也是关于内存的调优分享下 有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡。 我按经验开始调优,在每个关键步骤…

本地安装directus

简介 Directus 是用于管理 SQL 数据库内容的实时 API 和 App 控制面板。 API会根据数据库模式/内容的实时更改动态更新(无需重新启动服务器)。 Directus安装在任何新的或现有的 SQL 数据库之上,提供 API 层(REST、GraphQL、JS-SD…

获取商品SKU信息API调用代码展示、请求参数和返回值说明

SKU是什么意思 最小存货单位(SKU),全称为stock keeping unit,即库存进出计量的基本单元,可以是以件、盒、托盘等为单位。SKU这是对于大型连锁超市DC(配送中心)物流管理的一个必要的方法。现在已…

MySQL数据库从入门到精通学习第2天(创建数据库)

创建数据库 通过CREATE DATABASE语句来创建数据库通过CREATE SCHEMA语句来创建数据库通过IF NOT EXISTS进行判断创建 通过CREATE DATABASE语句来创建数据库 创建数据库的语法格式如下: CREATE DATABASE 【数据库名】; 创建数据库的库名跟标识符一样也是有要求的&…

实际项目集成分布式一致性协议 Raft

实际项目集成分布式一致性协议 Raft 文章目录 实际项目集成分布式一致性协议 Raft前言1.raft 是什么?2.SOFAJRaft2.1 功能特性 3.Nacos 分布式一致性设计3.1 nacos 分布式协议架构设计3.1 nacos 用 jraft 做什么3.2 Distro 协议 4.实际项目-Spring 工程4.1 旧版项目…