5-linux中的定时任务调度

定时任务调度

  • crond 任务调度
    • 概述
    • 基本语法
    • 常用选项
    • 快速入门
    • 应用实例
    • crond 相关指令
  • at 定时任务
    • 基本介绍
    • at 命令格式
    • at 命令选项
    • at 时间的定义
    • 其他指令

crond 任务调度

crontab 进行 定时任务调度

概述

任务调度:是指系统在某个时间执行的特定的命令或程序

任务调度分类:

  • 系统工作:有些重要的工作必须周而复始地执行
  • 个别用户工作:希望定时执行某些程序

基本语法

crontab [选项]

常用选项

  • -e : 编辑crontab定时任务
  • -l:查询crontab任务,列出任务列表
  • -r :删除当前用户所有的crontab任务

快速入门

image.png

特殊符号的说明

特殊符号含义
*表示任何时间。比如,当第一占位符为*时,就表示一小时中每分钟的意思
,表示不连续的时间。比如命令:0,8,12,16 * * * ,表示在每天的8点、12点、16点 都执行一次命令
-表示连续的时间。 比如命令:0 5 * * 1-6 表示在每周一到周六的凌晨5点0分执行命令
*/n代表每隔多久执行一次。比如命令:*/10 * * * *, 代表每隔10分钟就执行一遍命令

应用实例

  • 每隔一分钟就将当前的日期信息,追加到/tmp/mydate文件中
    • */1 * * * * date >> /tmp/mydate
  • 每隔一分钟,将当前日期和日历都追加到/home/mycal 文件中
    • 步骤
    • vim /home/my.sh 写入内容,date >> /home/mycal 和 cal >> /home/mycal
    • 给my.sh增加执行权限,chmod u+x /home/my.sh
    • crontab -e 增加命令:*/1 * * * * /home/my.sh

crond 相关指令

  • crontab -r : 终止任务调度
  • crontab -l : 列出当前有哪些任务调度
  • service crond restart : 重启任务调度

at 定时任务

基本介绍

  • at 命令是一次性定时计划任务,at的守护进程会以后台模式运行,检查作业队列来运行。
  • 默认情况下,atd守护进程每60s检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间相匹配,则运行此作业。
  • at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了
  • 在使用at命令时,一定要保证atd进程的启动,可以通过指令 ps -ef | grep atd 来进行检查。

at 命令格式

at [选项] [时间]

当输入完成时,输入ctrl + D 表示输入命令的结束 (输入两次)

当输入at命令时,想要进行删除的话,需要按ctrl+del

at 命令选项

image.png

at 时间的定义

  • 接受在当天的hh:mm式的时间指定。如果时间已经过去,将会放到第二天执行。
  • 使用比较模糊的词语来指定时间 比如:midnight、noon等
  • 采用12小时制,在时间后面加上am或pm来说明是上午还是下午。例如:6pm
  • 指定命令执行的具体日期
    • mm/dd/yy 或 dd.mm.yy
    • 指定的日期必须跟在指定时间的后面:4:00 2021-03-1
  • 使用相对计时法
    • 指定格式:now + 时间大小 时间单位
    • 时间单位:minutes、hours、days、weeks
    • 比如:now + 5 minutes 含义:5分钟后执行指令
  • 直接使用today、tomorrow 来指定完成的时间

其他指令

  • atq : 显示系统中没用执行的工作任务
  • atrm 编号 : 删除已经设置的任务

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JVM运行时数据区——字符串常量池位置的调整

在JDK6及之前,使用永久代来实现方法区,字符串常量池(StringTable)是在永久代(方法区)中的,但是方法区的回收效率不高,在Full GC时才会回收。 在JDK7中,将字符串常量池转移到了堆中,分配在年轻代和老年代中。…

C++模板的简单练习

运行代码&#xff1a; #include"std_lib_facilities.h"template <class T>struct S { private:T val; public:S<T>() :val(T()) {}S<T>(T tt) : val(tt) {};T& get();void set(T tt) { val tt; }ostream& operator << (ostream&a…

电脑记事本在哪里?电脑桌面显示记事本要怎么设置?

绝大多数上班族在使用电脑办公时&#xff0c;都需要随手记录一些琐碎或重要的事情&#xff0c;例如工作注意事项、常用的文案、某项工作的具体要求、多个平台的账号和密码等。于是就有不少小伙伴想要使用电脑记事本软件来记录&#xff0c;那么电脑记事本在哪里呢&#xff1f;想…

MySQL数据库关于表的一系列操作

MySQL中的数据类型 varchar 动态字符串类型&#xff08;最长255位&#xff09;&#xff0c;可以根据实际长度来动态分配空间&#xff0c;例如&#xff1a;varchar(100) char 定长字符串&#xff08;最长255位&#xff09;&#xff0c;存储空间是固定的&#xff0c;例如&#…

【大虾送书第三期】《Python高并发与高性能编程: 原理与实践》

目录 ✨写在前面 ✨主要内容 ✨本书特色 ✨关于作者 &#x1f990;博客主页&#xff1a;大虾好吃吗的博客 &#x1f990;专栏地址&#xff1a;免费送书活动专栏地址 写在前面 Python成为时下技术革新的弄潮儿&#xff0c;全民Python的发展趋势让人们不再满足于简单地运行Python…

LeetCode三步问题(动态规划)

LeetCode三步问题&#xff08;动态规划&#xff09; 编写代码代码优化 链接: 三步问题 编写代码 class Solution { public:int waysToStep(int n) {if(n 1 || n 2) return n;vector<int> dp(n1);const int MOD 1e9 7;dp[0] dp[1] 1;dp[2] 2;for(int i 3;i<n…

白话机器学习笔记(一)学习回归

最小二乘法 定义模型 表达式&#xff1a; f θ ( x ) θ 0 θ 1 x f_\theta(x)\theta_0\theta_1x fθ​(x)θ0​θ1​x &#xff08;常用 θ \theta θ表示未知数、 f θ ( x ) f_\theta(x) fθ​(x)表示含有参数 θ \theta θ并且和变量 x x x相关的函数&#xff09; 目标…

Vue中TodoLists案例_底部统计

与上一篇Vue中TodoList案例_删除有俩个文件变化了 App.vue&#xff1a;向儿子组件MyFooter传递参数todos <template><div id"root"><div class"todo-container"><div class"todo-wrap"><MyHeader :addTodo"add…

Qt 第一讲

登录框设置 #include "zuoye.h" #include "ui_zuoye.h"Zuoye::Zuoye(QWidget *parent): QWidget(parent), ui(new Ui::Zuoye) {ui->setupUi(this);//界面this->resize(540,420); //设置尺寸this->setFixedSize(540,420);//固定尺寸this->setS…

Spring 创建和使用

Spring 是⼀个包含了众多⼯具⽅法的 IoC 容器。既然是容器那么它就具备两个最基本的功能&#xff1a; 将对象存储到容器&#xff08;Spring&#xff09;中&#xff1b; 从容器中将对象取出来。 在 Java 语⾔中对象也叫做 Bean 1.创建 Spring 项目 接下来使⽤ Maven ⽅式来创…

智慧景区综合解决方案52页,多媒体触控系统,顶层设计

导读&#xff1a;原文《智慧景区综合解决方案52页ppt》&#xff08;获取来源见文尾&#xff09;&#xff0c;本文精选其中精华及架构部分&#xff0c;逻辑清晰、内容完整&#xff0c;为快速形成售前方案提供参考。 完整版领取方式 完整版领取方式&#xff1a; 如需获取完整的电…

Python面向对象(三)(继承、封装)

面向对象的三大特性 面向对象编程&#xff0c;是许多编程语言都支持的一种编程思想。 简单理解是&#xff1a;基于模板&#xff08;类&#xff09;去创建实体&#xff08;对象&#xff09;&#xff0c;使用对象完成功能开发。 面向对象包含3大主要特性&#xff1a; 封装 封…

静态 链接

1、空间与地址的分配 现在的链接器空间分配的策略基本上都采用 “相似段合并” 的方式。通过将所有相同类型的 section 合并到一起&#xff0c;例如将所有输入目标文件的 .text 合并&#xff08;按顺序合并&#xff09;到输出文件的 .text 节中&#xff1b;然后&#xff0c;链接…

机器学习之线性判别分析(Linear Discriminant Analysis)

1 线性判别分析介绍 1.1 什么是线性判别分析 线性判别分析&#xff08;Linear Discriminant Analysis&#xff0c;简称LDA&#xff09;是一种经典的监督学习算法&#xff0c;也称"Fisher 判别分析"。LDA在模式识别领域&#xff08;比如人脸识别&#xff0c;舰艇识别…

链表踏歌:独具慧眼,雕琢重复元素藏身匿迹

本篇博客会讲解力扣“83. 删除排序链表中的重复元素”的解题思路&#xff0c;这是题目链接。 由于链表是排好序的&#xff0c;我们可以通过遍历一次链表的方式&#xff0c;删除所有重复的结点。具体来说&#xff0c; 如果链表为空&#xff0c;则不需要删除&#xff0c;直接返回…

全加器(多位)的实现

一&#xff0c;半加器 定义 半加器&#xff08;Half Adder&#xff09;是一种用于执行二进制数相加的简单逻辑电路。它可以将两个输入位的和&#xff08;Sum&#xff09;和进位&#xff08;Carry&#xff09;计算出来。 半加器有两个输入&#xff1a;A 和 B&#xff0c;分别代表…

GPT和MBR的区别

磁盘分区是操作系统管理磁盘数据的一项非常重要的功能。在分区时&#xff0c;用户需要选择一种分区表格式来组织磁盘上的分区&#xff0c;这也就是GPT和MBR两种分区表格式的由来。在本文中&#xff0c;将详细探讨GPT和MBR分区表格式的区别和如何选择它们。 1. MBR和GPT分区表格…

有关 openAPI 的一些总结

目前主流的 APi 的验证是&#xff1a;Tokensign sign 主要是保证数据的真实性 token 主要是进行接口安全访问的 sign验证签名&#xff08; sha256Hex&#xff09; 一般将一些平台的版本及平台 id 等字段进行固定拼接后再进行摘要算法处理 // 参与签名计算的Key-Value列表 Map…

【C语言敲重点(五)】嵌入式“八股文“(2)

1. struct和union的区别&#xff1f; 答&#xff1a;①联合体所有的成员都共享一块内存&#xff0c;修改联合体的任一成员的数据就会覆盖到其他成员的数据&#xff1b; ②结构体的成员变量都有独立的内存空间&#xff0c;且结构体的成员数据之间是不影响的 2. struct和class的…

LeetCode第 N 个泰波那契数 (认识动态规划)

认识动态规划 编写代码代码空间优化 链接: 第 N 个泰波那契数 编写代码 class Solution { public:int tribonacci(int n) {if(n 0){return 0;}else{if(n 1 || n 2)return 1;}vector<int> dp(n 1);dp[0] 0;dp[1] 1;dp[2] 1;for(int i 3;i < n;i){dp[i] dp[i-3]…