Linux中滴计划任务

计划任务

    • 计划任务
    • 计划任务分类
    • at命令
    • load average
    • crontab命令
      • 配置文件通常包含三个部分
      • cron服务配置文件
      • cron服务的日志文件
      • 时间数值的特殊表示方法
        • 应用实例
    • 案例
    • anacron服务

计划任务

计划任务(Cron Job)是指在预定的时间自动执行一些指定的任务或脚本。在Linux和Unix系统中,计划任务由Cron(Cron daemon)服务来实现。Cron服务可以在规定的时间执行一些命令或程序,比如定时备份数据库、定时清理垃圾文件、定时发送邮件等。

daemon:守护进程,一直在内存里运行的进程,知道我们人为停止他的运行,不然他是一直在内存中运行的,因为一直在内存中运行,所以我们的用户可以随时去访问。

计划任务分类

使用at命令调用atd进程设置在某个特定的时间,执行一次任务

使用crontab命令调用crond进程,设置按固定的周期(如每天,每周等)重复执行预先计划好的任务

at命令

在特定的日期、时间点自动执行预选设置的一些命令操作,属于一次性计划任务

系统服务的名称: /etc/init.d/atd

设置格式:at [HH:MM] [yyyy-mm-dd]

[root@kafka3 lianxi]# service atd start   启动atd服务,不然不会定时去执行任务
Redirecting to /bin/systemctl start atd.service
您在 /var/spool/mail/root 中有新邮件
[root@kafka3 lianxi]# at 23:00  创建一个一次性执行的计划任务
at> bash /root/6.sh
at> <EOT>
job 6 at Sun Mar 26 23:00:00 2023
[root@kafka3 lianxi]# at -l    查看计划任务的列表
3	Sun Mar 26 20:29:00 2023 a root
6	Sun Mar 26 23:00:00 2023 a root
[root@kafka3 lianxi]# atrm 3   删除计划任务编号为3的任务
[root@kafka3 lianxi]# at -l
6	Sun Mar 26 23:00:00 2023 a root

存放一次性计划任务的目录
[root@kafka3 ~]# cd /var/spool/at
[root@kafka3 at]# ls
a0000601ab34c4  spool
[root@kafka3 at]# cd ..
[root@kafka3 spool]# ls
anacron  at  cron  lpd  mail  plymouth  postfix
[root@kafka3 spool]# pwd
/var/spool

load average

[root@kafka3 ~]# uptime
 15:49:45 up 4 min,  2 users,  load average: 0.00, 0.04, 0.03
 三个数值分别为 1分钟、5分钟、15分钟前到现在的可运行或者不可中断的进程的平均值。
 可以理解为就绪队列里的进程的数量

CPU的就绪队列里的进程的数量

电脑只有一个核心,就绪队列里有一个进程在排队,就算法CPU已经满负荷运转了,如果超过1就更加忙了

电脑有八个核心,就绪队列里有8个进程在排队,就算法CPU已经满负荷运转,如果超过8更加忙了

crontab命令

  • 按照预先 设置的时 间舟曲(分钟,小时,天…),重复执行用户指定的命令操作,属于周期性计划任务
  • 服务名称: /etc/init.d/crond
  • 主要设置文件
    • 用户定义的设置,位于文件:/var/spool/cron/用户名
[root@kafka3 ~]# cd /var/spool/
[root@kafka3 spool]# ls
anacron  at  cron  lpd  mail  plymouth  postfix
[root@kafka3 spool]# cd cron
[root@kafka3 cron]# ls
[root@kafka3 cron]#  pwd
/var/spool/cron    存放crontab创建的周期性计划任务的
[root@kafka3 cron]# 
[root@kafka3 cron]#  ps aux|grep crond  服务是默认安装的,而且开机自动启动
root        734  0.0  0.0 126384  1620 ?        Ss   15:45   0:00 /usr/sbin/crond -n
root       1868  0.0  0.0 112824   988 pts/0    S+   16:51   0:00 grep --color=auto crond


配置文件通常包含三个部分

注释

环境变量

cron命令

[root@kafka3 cron]#  crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[root@kafka3 cron]# crontab -l
30 3 * * * /root/sc.sh
[root@kafka3 cron]# 
[root@kafka3 cron]# useradd wwjz
[root@kafka3 cron]# su - wwjz
[wwjz@kafka3 ~]$ crontab -e
no crontab for wwjz - using an empty one
crontab: installing new crontab
[wwjz@kafka3 ~]$ crontab -l
40 4 * * * bash ~/sc.sh
[wwjz@kafka3 ~]$ cd /var/spool/cron/
-bash: cd: /var/spool/cron/: 权限不够
[wwjz@kafka3 ~]$ exit
登出
[root@kafka3 cron]# ls
root  wwjz

crontab是创建管理周期性计划任务的命令,最小的时间间隔是1分钟

-e表示创建一个计划任务 edit

-l表示查看计划任务列表

cron服务配置文件

位于文件:/etc/crontab

cron服务的日志文件

位于文件:/var/log/cron

可以知道一个计划任务是否执行

记录创建,查看,执行等相关的操作

[root@kafka3 log]#  crontab -e
crontab: installing new crontab
[root@kafka3 log]# crontab -l
30 3 * * * bash /root/sc.sh
*/1 * * * * bash /root/wang.sh
[root@kafka3 log]# cat cron
Mar 27 17:15:00 kafka3 crontab[1935]: (root) LIST (root)
Mar 27 17:15:01 kafka3 crond[734]: (root) RELOAD (/var/spool/cron/root)
Mar 27 17:15:01 kafka3 CROND[1937]: (root) CMD (bash /root/wang.sh)
您在 /var/spool/mail/root 中有新邮件
[root@kafka3 log]# 
[root@kafka3 log]# yum install ntpdate -y
censtos7里可以使用ntpdate命令同步时间(和互联网的时间服务器同步时间)
centos8里 chrony服务
[root@kafka3 log]#ntpdate time.windows.com
27 Mar 17:56:40 ntpdate[2212]: adjust time server 20.189.79.72 offset -0.003294 sec

在这里插入图片描述

时间数值的特殊表示方法

  • (星号)表示该范围内的任意时间

, 表示间隔的多个不连续时间点

_ 表示一个连续的时间范围

/n 指定间隔的时间频率

应用实例

  • 0 17 * * 1-5
  • 30 8 * * 1,3,5
  • 0 8-18 * * *
  • 0 12 */3 * *

案例

1,编写一个/backup/backup_log.sh脚本实现备份/var/log目录下所有的文件到/backup目录下,要求文件名是包含当天日期,精确到秒,文件名例名例如:2022-3-3-3_40_20_log.tar.gz同时要求删除/backup目录下七天的备份文件,只保留最近7天的,

1,以root用户的身份去执行,计划任务的要求是每天的4:30执行上面的这个脚本/backup/backup_log.sh

[root@kafka3 backup]# pwd
/root/backup
您在 /var/spool/mail/root 中有新邮件
[root@kafka3 backup]# cat backup_log.sh 
#!/bin/bash
mkdir -p /backup
tar -czf /backup/$(date +%F_%H_%M_%S)-log.tar.gz  /var/log
find /backup -mtime +7 -type f -name "*.tar.gz" -exec rm -rf {} \;
[root@kafka3 backup]# crontab -e
crontab: installing new crontab
您在 /var/spool/mail/root 中有新邮件
[root@kafka3 backup]# crontab -l
30 4 * * * bash /root/backup/backup_log.sh
[root@kafka3 log]# pwd
/var/log
[root@kafka3 log]# cat cron
.........
Mar 27 04:30:01 kafka3 CROND[2598]: (root) CMD (bash /root/backup/backup_log.sh)
[root@kafka3 log]#  
 

ps:周和日,月不可同时并存,容易导致时间混乱

anacron服务

  • 弥补cron在系统关机后不能执行计划任务的问题
  • 不能替代cron
  • 按天、周或月为单位去检查系统未进行的cron任务
  • /var/spool/anacron
  • 服务名称:/etc/init.d/anacrond

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

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

相关文章

【蓝桥杯专题】 树状数组(C++ | 洛谷 | acwing | 蓝桥)

菜狗现在才开始备战蓝桥杯QAQ 文章目录【蓝桥杯专题】 &#xff08;C | 洛谷 | acwing | 蓝桥&#xff09;什么是线段数组??1264. 动态求连续区间和数星星线段树AcWing 1270. 数列区间最大值PPPPPPP【蓝桥杯专题】 &#xff08;C | 洛谷 | acwing | 蓝桥&#xff09; 什么是…

华为OD机试用java实现 -【最多获得的短信条数】(2023-Q1 新题)

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:最多获得的短信条数 题目 某…

linxu学习之进程

文章目录进程程序和进程产生进程销毁进程多进程高并发设计孤儿僵尸守护进程孤儿进程&#xff1a;守护进程(重点)僵尸进程&#xff1a;进程 程序和进程 操作系统可以运行多个程序&#xff0c;那他是如何运行的&#xff1f;实际上&#xff0c;CPU的执行是很快的&#xff0c;而待…

【FreeRTOS(一)】FreeRTOS新手入门——初识FreeRTOS

初识FreeRTOS一、实时操作系统概述1、概念2、RTOS的必要性3、RTOS与裸机的区别4、FreeRTOS的特点二、FreeRTOS的架构三、FreeRTOS的代码架构一、实时操作系统概述 1、概念 RTOS&#xff1a;根据各个任务的要求&#xff0c;进行资源&#xff08;包括存储器、外设等&#xff09…

【TypeScript入门】TypeScript入门篇——枚举(enum)

TypeScript是一种静态类型、可选的编程语言&#xff0c;它在JavaScript的基础上添加了类型检查、接口、枚举等新特性&#xff0c;可以让开发更加高效、代码更加健壮。在TypeScript中&#xff0c;枚举是一种特殊的数据类型&#xff0c;它可以用来定义一组命名的常量&#xff0c;…

网络通信之应用层协议--Linux

文章目录关于应用层协议的理解应用层协议的制定理论部分代码部分完整代码以及测试HTTP协议代码测试HTTP协议HTTPS协议加密原因基础的加密方式数据摘要&#xff08;数据指纹&#xff09;数字签名HTTPS的加密方式的选择总结关于应用层协议的理解 在之前的一篇关于套接字实现网络…

天梯赛刷题小记 —— L2

最近在重刷 天梯赛&#xff0c;浅浅记录一下&#xff0c;进入L2阶段了 L2-001 紧急救援 解题思路&#xff1a;典型的dijkstra模板题&#xff0c;带路径记录与权重&#xff0c;方案数记录&#xff0c;解析出过 Dijkstra(兼路径) #include <bits/stdc.h> #define inf…

【数据分析之道-基础知识(三)】元组

文章目录专栏导读1、元组简介2、元组创建3、元组查找操作4、元组删除操作5、元组修改操作6、元组增加操作7、元组内置函数专栏导读 ✍ 作者简介&#xff1a;i阿极&#xff0c;CSDN Python领域新星创作者&#xff0c;专注于分享python领域知识。 ✍ 本文录入于《数据分析之道》&…

自动驾驶控制概况

文章目录1. 第一章行为决策在自动驾驶系统架构中的位置2. 路径跟踪控制的种类2.1 基于自行车模型的路径跟踪控制算法2.1.1 纯跟踪控制&#xff08;Pure Pursuit&#xff09;算法2.1.2 后轮反馈控制算法&#xff08;Rear wheel feedback&#xff09;2.1.3前轮反馈控制算法&#…

防火墙 NAT地址转换

网络地址转换&#xff08;NAT&#xff09;是一种用于访问Internet访问模式广域网&#xff08;WAN&#xff09;的技术&#xff0c;用于将私有&#xff08;保留&#xff09;地址转换为合法IP地址。NAT不仅能够有效地额抵抗外部网络攻击&#xff0c;还能够在IP地址分配不理想&…

Windows权限提升—令牌窃取、UAC提权、进程注入等提权

Windows权限提升—令牌窃取、UNC提权、进程注入等提权1. 前言2. at本地命令提权2.1. 适用范围2.2. 命令使用2.3. 操作步骤2.3.1. 模拟提权2.3.2. at配合msf提权2.3.2.1. 生成木马文件2.3.2.2. 设置监听2.3.2.3. 设置反弹2.3.2.4. 查看反弹效果3. sc本地命令提权3.1. 适用范围3.…

瑟瑟发抖吧——用了这款软件,我的开发效率提升了50%

一、前言 开发中&#xff0c;一直听到有人讨论是否需要重复造轮子&#xff0c;我觉得有能力的人&#xff0c;轮子得造。但是往往开发周期短&#xff0c;用轮子所节省的时间去更好的理解业务&#xff0c;应用到业务中&#xff0c;也能清晰发现轮子的利弊&#xff0c;一定意义上…

Warshall算法

&#x1f680;write in front&#x1f680; &#x1f4dc;所属专栏&#xff1a;> 算法 &#x1f6f0;️博客主页&#xff1a;睿睿的博客主页 &#x1f6f0;️代码仓库&#xff1a;&#x1f389;VS2022_C语言仓库 &#x1f3a1;您的点赞、关注、收藏、评论&#xff0c;是对我…

树莓派Linux源码配置,树莓派Linux内核编译,树莓派Linux内核更换

目录 一 树莓派Linux的源码配置 ① 内核源码下载说明 ② 三种方法配置源码 二 树莓派Linux内核编译 ① 内核编译 ② 编译时报错及解决方案&#xff08;亲测&#xff09; 三 更换树莓派Linux内核 操作步骤说明 ● dmesg报错及解决方案&#xff08;亲测&#xff0…

算法刷题笔记

特定方法 KMP算法&#xff1a;字符串匹配 逆波兰表达式&#xff1a;计算值 斐波那契数&#xff1a;动态规划 强制类型转换&#xff1a;整型->字符串&#xff1a;to_string&#xff0c;字符串->整型&#xff1a;stoi 一、数组 数组&#xff1a;下标从0开始&#xff0c;内存…

蓝桥杯嵌入式--LCD屏幕使用提升

前言之前在专栏里已经介绍过LCD相关库文件的移植&#xff0c;今天来介绍一下对于LCD屏幕的使用技巧。屏幕基本配置与函数一、屏幕初始化使用lcd前的必要步骤就是对LCD屏幕进行初始化操作&#xff0c;这也是一个容易忘记的操作。LCD_Init();\\使用lcd前的必要步骤就是对LCD屏幕进…

蓝桥杯倒计时 | 倒计时17天

作者&#x1f575;️‍♂️&#xff1a;让机器理解语言か 专栏&#x1f387;&#xff1a;蓝桥杯倒计时冲刺 描述&#x1f3a8;&#xff1a;蓝桥杯冲刺阶段&#xff0c;一定要沉住气&#xff0c;一步一个脚印&#xff0c;胜利就在前方&#xff01; 寄语&#x1f493;&#xff1a…

将一段数字转为字符串

将一段数字转为字符串 string turn(long long x){string str;while(x){int tx%10;// 数字0的ascii码为48&#xff01;char ct48;strc;// string类拼接方式x/10;}reverse(str.begin(),str.end()); // 不要忘了反转字符串return str; }例: #include<iostream> #include&l…

使用VS Code 配置Ubuntu远程C++开发环境

使用VS Code 配置Ubuntu远程C开发环境 环境准备 VS CodeWSL Ubuntu 虚拟机 配置步骤 在Ubuntu 中配置ssh远程登录 Ubuntu 配置远程登录 VsCode 安装 Remote-ssh 插件 打开vscode ssh configure ,填入相关信息 ​ Host : 主机名称&#xff0c;在左侧列表中显示的名称 ​ …

【Linux】[万字] Linux下的文件操作 及 Linux文件描述符fd 详解

在Linux操作系统中, 文件描述符是一个至关重要的概念. 理解了文件描述符, 其实就可以相当于理解了Linux系统的关于内存文件系统的整个大致框架和逻辑 但是在介绍文件描述符之前, Linux关于文件还存在许多 概念和文件操作 的知识需要介绍一下, 就当作是为解释文件描述符所做的…