当前位置: 首页 > news >正文

crontab -e 系统定时任务

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 文件,普通用户无法查看该文件。

相关文章:

crontab -e 系统定时任务

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

前后端交互系列之Axios详解(包括拦截器)

目录 前言一,服务器的搭建二,Axios的基本使用2.1 Axios的介绍及页面配置2.2 如何安装2.3 Axios的前台代码2.4 Axios的基本使用2.5 axios请求响应结果的结构2.6 带参数的axios请求2.7 axios修改默认配置 三,axios拦截器3.1 什么是拦截器3.2 拦…...

定时任务之时间轮算法

初识时间轮 我们先来考虑一个简单的情况,目前有三个任务A、B、C,分别需要在3点钟,4点钟和9点钟执行,可以把时间想象成一个钟表。 如上图中所示,我只需要把任务放到它需要被执行的时刻,然后等着时针转到这个…...

实验4 Matplotlib数据可视化

1. 实验目的 ①掌握Matplotlib绘图基础; ②运用Matplotlib,实现数据集的可视化; ③运用Pandas访问csv数据集。 2. 实验内容 ①绘制散点图、直方图和折线图,对数据进行可视化; ②下载波士顿数房价据集,并…...

【软件工程】为什么要选择软件工程专业?

个人主页:【😊个人主页】 文章目录 前言软件工程💻💻💻就业岗位👨‍💻👨‍💻👨‍💻就业前景🛩️🛩️🛩️工作环…...

5类“计算机”专业很吃香,人才缺口巨大,就业前景良好

说到目前最热门的专业,计算机绝对占有一席之地,是公认的发展前景好、人才缺口大的专业。有人称该专业人数如此众多,势必会导致人才饱和,但是从当前社会互联网发展的趋势来看,计算机专业在很长一段时间都是发展很好的专…...

数仓选型对比

1、数仓选型对比如下(先列举表格,后续逐个介绍) 数仓应用目标产品特点适用于 适用数据类型数据处理速度性能拓展 实施难度运维难度性能优化成本传统数仓(SQLServer、Oracle等关系型数据库)面向主题设计的,为 分析数据而设计基于Oracle、 SQLServer、MyS…...

二叉树的遍历(前序、中序、后序)Java详解与代码实现

递归遍历 前序,中序,后序 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, Tree…...

如何找出消耗CPU最多的线程?

如何找出消耗CPU最多的线程? 1.使用 top -c 找出所有当前进程的运行列表 top -c 2.按P(Shiftp)对所有进程按CPU使用率进行排序,找出消耗最高的线程PID ​​​ 显示Java进程 PID 为 136 的java进程消耗最 3.使用 top -Hp PID,查出里面消…...

【论文笔记】Attention Augmented Convolutional Networks(ICCV 2019 入选文章)

目录 一、摘要 二、介绍 三、相关工作 卷积网络Convolutional networks: 网络中注意力机制Attention mechanisms in networks: 四、方法 1. 图像的自注意力Self-attention over images: 二维位置嵌入Two-dimensional Positional Enco…...

虚幻图文笔记:Character Creator 4角色通过AutoSetup For Unreal Engine插件导入UE5.1的过程笔记

在UE5端安装AutoSetup For Unreal Engine插件 AutoSetup For Unreal Engine是Reallusion官方提供的免费插件,官方下载地址,下载到的是一个可执行文件,点击安装,记住安装的位置⬇ 看装完毕后会打开一个文件夹,这里就是对…...

JAVAWeb04-DOM

1. DOM 1.1 概述 1.1.1 官方文档 地址: https://www.w3school.com.cn/js/js_htmldom.asp 1.1.2 DOM 介绍 DOM 全称是 Document Object Model 文档对象模型就是把文档中的标签,属性,文本,转换成为对象来管理 1.2 HTML DOM(文档…...

C++内存管理基础知识

C 内存管理 C内存管理是一个重要的主题,因为它涉及到程序运行时资源的分配和释放。它可以分为三种类型:静态内存、栈内存和堆内存。 静态内存 静态内存(Static Memory):静态内存用于存储全局变量、静态变量和常量。这…...

命令执行漏洞概述

命令执行漏洞概述 命令执行定义命令执行条件命令执行成因命令执行漏洞带来的危害远程命令执行漏洞相关函数assert()preg_replace()call_user_func() a ( a( a(b)可变函数远程命令执行漏洞的利用系统命令执行漏洞相关函数system()exec()shell_exec()passthru(&#x…...

【初试复试第一】脱产在家二战上岸——上交819考研经验

笔者来自通信考研小马哥23上交819全程班学员 先介绍一下自己,我今年初试426并列第一,加上复试之后总分600,电子系第一。 我本科上交,本科期间虽然没有挂科但是成绩排名处于中下游水平。参加过全国电子设计大赛,虽然拿…...

PTA:C课程设计(7)

山东大学(威海)2022级大一下C习题集(7) 函数题7-6-1 递增的整数序列链表的插入7-6-2 查找学生链表7-6-3 统计专业人数7-6-4 建立学生信息链表 编程题7-7-1 查找书籍7-7-2 找出总分最高的学生 函数题 7-6-1 递增的整数序列链表的插…...

POSTGRESQL LINUX 与 PG有关的内存参释义

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共…...

Docker的常见命令

前言:使用Docker得学会的几个常见命令 常见命令前置学习: docker --help这个命令必须得会因为,很多命令是记不住的,得使用他们的官方help下面是一些实例 docker load --help常见命令集合: 一: docker images #查看全部镜像 docker rmi #删除某个镜像(例如:docker rmi redis…...

详细介绍性能测试的方法(含文档)

性能测试是软件测试中的一个重要环节,其目的是评估系统在不同负荷下的性能表现,包括响应时间、吞吐量、并发数等指标。通常可以通过以下几种方法进行性能测试: 1、负载测试 负载测试是模拟多用户同时访问系统,测试系统在高并发、…...

深入剖析 Qt QHash :原理、应用与技巧

目录标题 引言QHash 基础用法基础用法示例基础用法综合示例 QHash 的高级用法迭代器:遍历 QHash 中的元素(Iterators: Traversing Elements in QHash )QHash和其他容器的对比QHash 和 std::unordered\_map QHash的底层原理和内存管理QHash 的…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...