RHCE---Linux的计划任务

文章目录

  • 目录

    文章目录

    前言

    一.单一执行的例行性工作

    at 命令

    二.循环执行的例行性工作

    crontab 命令

    课后作业: 

    思维导图


前言

      如果想要让自己设计的备份程序可以自动地在系统下面运行,而不需要手动来启动它,这是该如何处理?这些任务可以分为【单一】任务和【循环】任务,在系统内又是哪些服务在负责?有的工作是例行性的,而有些任务是临时发生的。但是计算机不在身边这时就可以使用计划任务(corntable)来实现。


一.单一执行的例行性工作

仅执行一次,执行过后自动删除

at 命令

概述:

   at命令是Linux下的一种任务调度工具,可以让用户在指定的时间运行一次命令,或在指定时间段内运行周期性的任务。其作用可以概括为:

  • 在指定的时间运行一次命令,比如设定好一个时间,在那个时间运行备份脚本。

  • 在指定时间段内运行周期性的任务,比如设定好在每天的某个时间运行任务。

  • 做一些定时任务或者负载抑制等处理,比如利用 at 命令来分散高峰时间段内用户的大量请求。

总之,at命令可以帮助我们方便地完成一些定时任务,提高工作效率。

at 命令详解

命令格式:at [参数] [时间]

参数:
-m 当任务完成之后,即使没有标准输出,将给用户发送邮件
-l atq的别名,可列出目前系统上面的所有该用户的at调度
-d atrm的别名,可以取消一个在at调度中的工作
-v 使用较明显的时间格式,列出at调度中的任务列表
-c 可以列出后面接的该项工作的实际命令内容
-f 从文件中读取作作业
时间格式:
HH:MM  在今天的HH小时MM分钟执行,如果今天的这个时间点已经过了,则明
天执行
HH:MM YYYY-MM-DD  强制规定在某年某月的某一天的特殊时刻进行该工作
now + 2 minutes 从现在开始几分钟minutes, hours, days, or weeks

at命令的工作过程

  • /etc/at.allow 写在该文件的人可以使用at命令
  • /etc/at.deny 写在黑名单中的人不可用
  • 两个文件都不存在,只有root能使用

 root 会将计划任务记录在 /var/spool/at/ 目录中 通过查看该目录下的目录文件 spool 

查询计划任务。

 root 用户如何设置例行性文件的指令使得系统在固定的时间干什么事情?

#设置任务执行的时间为22:49
[root@localhost ~]at 22:49
warning: commands will be executed using /bin/sh
#设置执行的内容为打印hello
at> wall hello
#执行此命令
at> 按Ctr+D 

查看/var/spool/at/ 目录查询计划任务

[root@localhost ~]# ll /var/spool/at/
总用量 4
-rwx------. 1 root root 3305  9月 20 10:47 a0000101af20c9
drwx------. 2 root root    6  4月  4  2022 spool

拓展配置

#定义三分钟之后显示hello
[root@server ~]# at now + 3 minutes

 任务执行结束后自动删除

二.循环执行的例行性工作

每隔一定的周期就需要执行一次

crontab 命令

概述:

    Crontab是一种在Linux系统上运行自动任务的时间管理工具。通过使用Crontab命令,用户可以在指定的时间间隔内周期性地运行命令或脚本。Crontab命令支持的时间粒度为分钟、小时、日、月、星期,用户可以根据自己的需要灵活地设置定时任务。

crontab 命令详解:

[root@localhost ~]# crontab  --help
crontab: invalid option -- '-'
crontab: usage error: unrecognized option
Usage:crontab [options] filecrontab [options]crontab -n [hostname]Options:-u <user>  define user-e         edit user's crontab-l         list user's crontab-r         delete user's crontab-i         prompt before deleting-n <host>  set host in cluster to run users' crontabs-c         get host in cluster to run users' crontabs-s         selinux context-V         print version and exit-x <mask>  enable debugging
crontab -e:编辑当前用户的定时任务列表
crontab -l:列出当前用户的所有定时任务
crontab -r:删除当前用户的所有定时任务
/数字指定时间的间隔频率,例如每 3 分钟进行一次,*/3
*代表任何时刻
,代表分隔时段
-代表一段时间范围

 crontab 命令工作过程

  • /etc/cron.allow,写在该文件的人可以使用crontab命令

  • /etc/cron.deny,黑名单

  • 两个文件如果都不存在,只有root能使用

如何每天创建一个普通文件? 

使用touch命令创建普通文件  date命令显示时间,结合可得:

显示当前日期:date +F

··反单引号:代表优先执行,否则date +F将被认为是touch命令参数

#创建一个2023-9-20的文件
[root@localhost ~]# touch `date +%F`.txt

成功创建文件

如何每天自动创建文件?

下图是计划任务的格式

#编辑执行计划的内容
[root@localhost ~]# crontab -e
#查看编辑计划的内容
[root@localhost ~]# crontab -l
* * * * * wall hello
#删除执行计划
[root@localhost ~]# crontab -r
#每分钟创建一个和时间有关系的文件
[root@localhost ~]# crontab -e
#写入任务计划的内容
* * * * * touch  /root/ `date +\%H+%M`.txt
注:% 在crontab 循环列表中有特殊含义,需要转译 % 

 注:% 在crontab 循环列表中有特殊含义,需要转译 % 

在%前加 \

由于没有执行计划因此查看系统日志

[root@localhost ~]#tail -f /var/log/cron

课后作业: 

1.atd和crond两个任务管理程序的区别
2.指定在每周周一09:00将时间写入testmail.txt文件中
3.指定在每天凌晨4:00将该时间点之前的系统日志信息(/var/log/messages )备份到目录下/backup,备份后日志文件名显示格式logfileYY-MM-DD-HH-MM
4、配置ntp时间服务器,确保客户端主机能和服务主机同步时间

 作业1:区别如上文章所述

作业2 :

#创建一个第一天作业目录day1
[root@timeserver ~]# mkdir day1#在day1目录中创建文件 testmail.txt
[root@timeserver day1]# touch testmail.txt#使用crontab命令循环执行任务
[root@timeserver day1]# crontab -e#编辑如下内容
0 9 * * 1 date >> /root/day1/testmail.txt
  • 为方便测试将要求改为了 每周五20:23将时间写入文件

 要求3:

#在day1目录下创建backup目录
[root@timeserver day1]mkdir backup 
#指定时间备份文件
[root@timeserver day1]crontab -e
#编辑以下内容
0 4 * * * cp /var/log/messages /root/day1/backup/logfile`date +\%Y-\%m-\%d-\%H-\%M`

注: 此处需要使用 反引号` ` 和反斜杠 \ 转译

要求4:时间服务器配置文章


思维导图

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

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

相关文章

威胁追踪如何增强您的网络安全态势

网络威胁的复杂性、频率和影响正在加剧。2022 年&#xff0c;勒索软件攻击达到2.361 亿次&#xff0c;其中 39% 的英国企业遭受网络攻击。 这些攻击需要工具和资源来识别和纠正漏洞&#xff0c;以在云环境中维护强大的安全框架&#xff0c;从而降低数据泄露和合规违规的风险。…

asp.net core automapper的使用

1.安装automapper的nuget包 AutoMapper.Extensions.Microsoft.DependencyInjection 2.创建需要映射的类和转换后的类 public class studto{public int sn { get; set; }public string name { get; set; }public string sex { get; set; }public int age { get; set; }public s…

mac 配置 httpd nginx php-fpm 详细记录 已解决

在日常mac电脑 开发php项目一直是 httpd 方式 运行&#xff0c;由于有 多版本 运行的需求&#xff0c;docker不想用&#xff0c;索性用 php-fpm进行 功能处理。上次配置 是好的&#xff0c;但是感觉马马虎虎&#xff0c;这次 配置底朝天。因为配置服务器&#xff0c;几乎也都是…

List<HashMap<String,String>>实现自定义字符串排序(key排序、Value排序)

系列文章目录 SpringBootVue3实现登录验证码功能 Java实现发送邮件&#xff08;定时自动发送邮件&#xff09; 换个角度使用Redis去解决跨域存取Session问题 Redis缓存穿透、击穿、雪崩问题及解决方法 Spring Cache的使用–快速上手篇 更多该系列文章请查看我的主页哦 文章目录…

游戏技术亮点|Aavegotchi 与 GameSwift 建立合作伙伴关系

构建一个优秀的游戏只是成功发布的一部分&#xff0c;让数百万玩家体验这款游戏才是真正的乐趣所在。 这也是为什么我们很高兴宣布与 GameSwift 建立了新的合作伙伴关系&#xff0c;GameSwift 是一款先进的模块化游戏区块链&#xff0c;采用 zkEVM 技术构建&#xff0c;是全球…

切割VOC的图像和他的标签

切割VOC的图像 背景代码 背景 图像及对应xml文件切割 需要将图像切分为819,819的子图像 代码 import os import xml.etree.ElementTree as ET from PIL import Imagedef crop_one_image_and_xml(image_path, annotation_path, output_path, filename):# -*- coding: encoding…

[Zer0pts2020]Can you guess it? basename特性 和preg_match 绕过

直接就可以进入看看源代码 原本以为这道题目有两个方法来做 但是 后面发现第二个没有找到漏洞 这里考点主要就是 正则和 basename的特性 首先就是正则 现在出现一个知识点 就是 /index.php/config.php 这种路径 访问的还是 index.php 我们可以试试看 还是在index.php中过…

基于微信小程序的明星应援小程序设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

golang工程——常用数据结构底层原理【mao、slice、func、string】

字符串 其实就是字符数组 注意 字节数组与字符串可以相互转换 a : "hello world" b : []byte(a) c : string(b)字节数组转换为字符串在运行时调用了slicebytetostring函数。需要注意的是&#xff0c;字节数组与字符串的相互转换并不是简单的指针引用&#xff0c;…

【实战详解】如何快速搭建接口自动化测试框架?Python + Requests

摘要&#xff1a; 本文主要介绍如何使用Python语言和Requests库进行接口自动化测试&#xff0c;并提供详细的代码示例和操作步骤。希望能对读者有所启发和帮助。 前言 随着移动互联网的快速发展&#xff0c;越来越多的应用程序采用Web API&#xff08;也称为RESTful API&…

分类预测 | Matlab实现GA-RF遗传算法优化随机森林多输入分类预测

分类预测 | Matlab实现GA-RF遗传算法优化随机森林多输入分类预测 目录 分类预测 | Matlab实现GA-RF遗传算法优化随机森林多输入分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现GA-RF遗传算法优化随机森林多输入分类预测&#xff08;完整源码和数据&…

如何进一步全面提高项目估算精准度?

项目估算非常重要&#xff0c;这直接关系着项目的成本和收入&#xff0c;如果估算不准确&#xff0c;将为项目带来较大风险。一般软件规模可以用多种方式进行估算&#xff0c;但是用功能点估算方式更准确&#xff0c;而自动估算让估算更快速&#xff0c;我们以CoCode开发的估算…

【Go】rsrc不是内部或外部命令、无法将“rsrc”项识别为 cmdlet、函数、脚本文件或可运行程序的名称 解决方法

前言 想尝试用go创建一个桌面应用程序&#xff0c;然后查了下决定用 walk。 我们要先下载walk&#xff0c;这里 官方链接 按照官方文档&#xff0c;我们先用go get命令下载。 go get github.com/lxn/walk然后分别创建好了 main.go、main.manifest 文件&#xff0c;代码如下…

libtorch之tensor的使用

1. tensor的创建 tensor的创建有三种常用的形式&#xff0c;如下所示 ones创建一个指定维度&#xff0c;数据全为1的tensor. 例子中的维度是2维&#xff0c;5行3列。 torch::Tensor t torch::ones({5,3}); zeros创建一个指定维度&#xff0c;数据全为0的tensor&#xff0c;例子…

Java基于SpringBoot的民宿管理系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 开发环境&#xff1a;后端&#xff1a;前端&#xff1a;数据库&#xff1a; 系统架构&#xff1a…

nginx配置密码访问

安装htpasswd 因为需要使用到htpasswd&#xff0c;htpasswd是Apache服务器中生成用户认证的一个工具&#xff0c;如果未安装&#xff0c;则使用如下命令安装htpasswd。 yum install -y httpd-tools设置用户名和密码 htpasswd 安装成功后&#xff0c;就可以设置用户名和密码&am…

Java项目-Spring Boot的生鲜网上交易系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 1 简介2 技术栈3 系统功能4 功能设计5系统详细设计5.1系统功能模块5.2后台功能模块5\.2\.1用户功…

vscode左键无法跳转到定义的文件

之前用vscode的时候&#xff0c;明明是可以ctrl键鼠标左键跳转到定义文件的&#xff0c;突然之间就不行了&#xff0c;鼠标移到引入上根本都没有下划线&#xff0c;无法跳转 解决方法&#xff1a; 项目的根目录新建 jsconfig.json 文件&#xff0c;代码如下 {"compiler…

http基础教程(超详细)

HTTP HTTP 一 、基础概念 请求和响应报文URL 二、HTTP 方法 GETHEADPOSTPUTPATCHDELETEOPTIONSCONNECTTRACE 三、HTTP 状态码 1XX 信息2XX 成功3XX 重定向4XX 客户端错误5XX 服务器错误 四、HTTP 首部 通用首部字段请求首部字段响应首部字段实体首部字段 五、具体应用 连接管理…

敏捷发布列车初探2 ---- Agile Release Train

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 敏捷发布列车二、ART的特性2.敏捷团队为列车提供动力3.与共同节奏保持一致4.关键角色启用 三、ART的责任总结 敏捷发布列车 敏捷发布列车&#xff08;ART&#xff…