Linux计划任务书以及定时任务的编写

一、程序可以通过两种方式执行:

  1. 手动执行
  2. 利用调度任务,依据一定的条件自动执行

自动执行可通过一下两个命令来实现:

(1)At (单一工作调度)

(2)Cron  (循环工作调度)

二、At

  1. 功能:依据预先定义好的时间,执行指定进程,但只执行一次
  2. 语法格式:at  [选项]  [time]
  3. 参数:-c → 可以列出后面接的该项工作的实际明林内容

         -l → 列出目前系统上面所有该用户的at调度

     4.at的守护进程:atd

     5.查看、启动、关闭atd

#systemctl  stop  atd

#systemctl  start  atd

#systemctl  restart  atd

#systemctl  status  atd

6.at是个一次性的计划任务。at的执行主要依靠系统服务atd。系统中有两个文件/etc/at.allow和/etc/at.deny,这两个文件规定了系统谁可以使用at,谁不可以使用at.

7、如果两个都存在只检查/etc/at.allow, 只有在/etc/at.allow中规定的用户才可以使用,即采用执行大于 禁止的原则。

8、如果只有/etc/at.deny存在,每个不在该文件中用户都可以使用。

9、如果两个都不存在,只有超级用户可以使用

三、at可接受的时间格式:

1、日期:

MM/DD/YY

MMDDYY

DD.MM.YY

2、时间:

HH:MM

HH:MMam

HH:MMpm

3、特殊日期:

      Midnight(0am)

      noon(12am)

      Teatime(4pm)now(现在)

      now + N(minutes,hours,day,weeks)

4、时间输入规范:

  (1)只输入时间。不输入日期,会被当作是今天的某一时刻。

  (2)如果只输入日期,不输入时间,会被认为是被输入日期的现在这个时刻。

  (3)支持输入一个完整的时间

5、示例:

(1)晚上十一点重启:

#at  23:00

 at>reboot

 Ctrl D

(2)时间格式范例:

   #at 23:00

   #at 12/31/18

   #at 23:00 12/31/18

   #at noon

   #at 0:00pm 12/31/18

   #at teatime +30 minutes

   #at 4:00pm +4 days

   #at now + 4 weeks

四、at队列管理

1、at编辑后,将进入队列中。由atd服务扫描任务并等待任务的执行,at队列所在文件:/var/spool/at

2、命令:atq

功能:查看at队列

语法结构:atq  [选项]

3.命令:atrm

   功能:删除at队列中的指定任务

   语法格式:atrm   [队列ID]

4.示例:

1)查看at队列

   #atq

2)看at队列中任务一的内容:

  #at -c 1

3)删除at队列中的任务2

  #atrm 2

五、cron

  1、命令:crontab

  2、功能:实现周期性计划任务的执行

  3、语法格式:crontab  [选项]

  4、参数:-l → 查看cron计划任务列表

           -e → 以默认文本编辑器,编辑cron计划任务列表

           -r → 删除cron计划任务列表

           -u → 指定用户。如果不指定用户,-l,-e,-r都认为是对当前用户操作。

  1. cron的守护进程是crond

6、cron编辑的格式    

     1)shell及mail格式定义:(查看crontab文件:cat /etc/crontab

        SHELL=/bin/bash    

        SHELL是指定处理计划任务的命令是由那个shell来执行

        MAILTO=root  

        MAILTO是指定计划任务运行完成或运行遇到障碍,都会发     邮件给某个用户,给以提示    

     2)时间格式定义 (记忆口诀:分、时、日、月、周)

        注:星期中,0、7同样表示周日

     如图: 

    crontab文件中的时间格式及 “*”在时间格式中所代表的含义

       第一列,代表每一分钟(minute 0-59)

       第二列,代表每一小时(hour 0-23)

       第三列,代表一个月中的每一天(day of month 1-31)

       第四列,代表一年中的每个月 (month 1-12)

       第五列,代表一个星期中的每一天 (day of week 0-6)

       注:日月周不能同时出现

      3)特殊时间格式定义

        “*/5”:表示每隔5分钟可在第一列写成

      4)cron编辑的格式

每隔一分钟向所有用户广播一次 hahaha

 7、cron编写任务

       使用 “#crontab  <参数>”命令格式进行编写任务操作

示例:1)、以当前账户创建cron计划任务

               #crontab –e

  

        2)、以指定用户创建其cron计划任务(仅在root下执行)

             #crontab -e -u <用户名>

          3)、以指定文件作为计划任务的要求

            #vim newcron

            #crontab  newcron

            或#crontab  -u  <用户名>  newcron  

          4)、查看当前使用账户的cron任务队列

             #crontab -l

 8、cron编写任务路径

         /etc/cron.tab          系统计划任务表及说明

         /etc/cron.d            特定的系统计划任务表

         /etc/cron.hourly        系统每小时要运行的计划任务

         /etc/cron.daily          系统每天要运行的计划任务

         /etc/cron.weekly        系统每星期要运行的计划任务

         /etc/cron.monthly       系统每月要运行的计划任务

   注:在/etc/cron.d/0hourly 文件中,规定run-parts命令来执行目录的脚本文件

如图 

按照每天 每周 每月执行的时间点

IPC

进程间的通信方式

1、管道 :

1)单向的、先进先出的、无结构的、固定大小为4K的字节流

2)它把一个进程的标准输出和另一个进程的标

准输入连接在一起。

3)写进程在管道的尾端写入数据,读进程在管 道的首端读出数据。

4)数据读出后将从管道中移走,其它读进程都 不能再读到这些数据。

5)管道提供了简单的流控制机制

2、信号

两个进程之间的通信就会产生信号,进程还可以发送信号给进程 本身

3、socket (套接字)

为一般的进程间通信机制,可用于不同机器之间的进程间通信。

4、消息队列 (报文队列)

消息队列是消息的链接表,包括 Posix 消息队列 system V 消息队列。有足够权限的进程可以向 队列中添加消息,被赋予读权限的进程则可以读 走队列中的消息。消息队列克服了信号承载信息 量少

5、信号量:

主要作为进程 间以及同一进程不同线程之间的同步手段。

6、有名管道:无大小限制,相当于两个bash之间的通信,无亲缘关系的通信

内存溢出:开发人员开发软件的时候限制软件占内存的大小,打开后实际占用内存大于规定的

内存抖动:由于系统内存不足,进程在内存与虚拟内存之间来回切换,造成的主机卡顿

内存泄露:运行程序打开后占一定内存,关闭之后依然还在占用内存,然后用户再重新打开又占一定的内存,如此造成实际内存减小

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

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

相关文章

求三个字符数组最大者(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> # include <string.h>int main() {//初始化变量值&#xff1b;int i 0;char str[3][20];char string[20];//循环输入3个字符…

Selenium的四种部署方式

关于selenium 的部署&#xff0c;我在网上找了很多&#xff0c;基本上都没有提到或是说的比较清晰的。当时我一直有个困惑&#xff1a;测试的脚本代码&#xff0c;是放在跟浏览器同一台机器上呢&#xff0c;还是放在Application Server上&#xff1f; 在官方开发文档中&#x…

蛋糕购物商城

蛋糕购物商城 运行前附加数据库.mdf&#xff08;或使用sql生成数据库&#xff09; 登陆账号&#xff1a;admin 密码&#xff1a;123456 修改专辑价格时去掉&#xffe5;以及上传专辑图片 c#_asp.net 蛋糕购物商城 网上商城 三层架构 在线购物网站&#xff0c;电子商务系统 …

Kubernetes中文件挂载的四种方式

一. Kubernetes入门 1.1 Kubernetes创建POD过程 1.2. Kubernetes基本操作 命令说明用法create创建kubectl create -f xx.yamledit编辑kubectl edit svc [POD的service名称]get获取kubectl get pod --namespaceXXXpatch更新kubectl patch -f xx.yamldelete删除kubectl delete …

AWTK 开源串口屏开发(17) - 通过 MODBUS 访问数组数据

在 AWTK 串口屏中&#xff0c;内置了 MODBUS Client Channel 的模型&#xff0c;不用编写代码即可实现在 ListView 中显示数组数据。 MODBUS 协议一次只能读取 125 个 WORD&#xff0c;AWTK-MODBUS Client Channel 支持长数据&#xff0c;自动分成多个请求访问。 1. 功能 不用…

【后端】Thymeleaf模板引擎学习笔记

文章目录 1. java体系模板引擎介绍2. 使用2.1 初步使用2.2. 引用静态资源模板2.3 引用静态资源模板(配置资源路径和后缀)2.4 整合springboot 视频地址 1. java体系模板引擎介绍 FreeMarkerThymeleafVelocity 2. 使用 2.1 初步使用 引入依赖 <dependency><groupId>…

C++学习随笔(11)——vector

本章我们来学习一下vector&#xff01; 目录 1.vector的介绍及使用 1.1 vector的介绍 1.2 vector的使用 1.2.1 vector的定义 1.2.2 vector iterator 的使用 1.2.3 vector 空间增长问题 1.2.4 vector 增删查改 1.2.5 vector 迭代器失效问题。 1.vector的介绍及使用 1…

selenium 自动化测试课上实操指南2——乐视tv搜索

如果完成了实操1的同学&#xff0c;环境搭建已经ok&#xff0c;环境还没有好的同学请参考 实操1_百度搜索 为了大家顺利&#xff0c;我们还想按照实操1那样&#xff0c;先导入一个基本项目。在次基础上进行代码编写、 我们一起写写看。 1.打开乐视视频网页并最大化 如下图所…

三款数据可视化工具深度解析:Tableau、ECharts与山海鲸可视化

在数字化时代&#xff0c;数据可视化工具成为了企业和个人进行数据分析和决策的重要助手。市面上众多数据可视化工具各具特色&#xff0c;本文将为您介绍三款热门的数据可视化工具&#xff0c;帮助您更好地理解和利用数据。 首先&#xff0c;让我们来认识Tableau。Tableau是一款…

matlab学习006-使用matlab绘出系统的冲激响应和阶跃响应波形并求其冲激响应的数值解

目录 题目 1&#xff0c;绘出系统的冲激响应和阶跃响应波形 1&#xff09;基础 2&#xff09;效果 3&#xff09;代码 2&#xff0c;求出t0.5s,1s,1.5s,2s时系统冲激响应的数值解。 1&#xff09;基础 2&#xff09;效果 ​☀ 3&#xff09;代码 题目 已知描述某连续系…

《苍穹外卖》Day07部分知识点记录

一、菜品缓存 减少查询数据库的次数&#xff0c;优化性能 客户端&#xff1a; package com.sky.controller.user;import com.sky.constant.StatusConstant; import com.sky.entity.Dish; import com.sky.result.Result; import com.sky.service.DishService; import com.sky…

网络安全实训Day16

网络空间安全实训-渗透测试 漏洞扫描 定义 扫描和探测目标范围内的主机存在哪些安全漏洞&#xff0c;或扫描目标范围内的那些主机存在某个指定的漏洞 漏扫工具 AWVS APPScan MSF 使用MSF扫描漏洞并利用 1.搜索需要的攻击模块 search ms17-010 2.使用攻击模块 use 模块名称…

苏州相融大厦安装部署火眼视频图像早期火灾报警系统

2024年3月&#xff0c;苏州高铁数金公司、火眼消防技术有限公司与招商积余物业联合在相融大厦进行了火眼视频图像早期火灾报警系统的部署和测试工作&#xff0c;测试效果良好。体现招商积余对持续推进消防安全工作的高度重视。 相融大厦是火眼消防总部注册和苏州研发中心所在地…

OpenCV直方图计算

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV实现直方图均衡 下一篇 :OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 在本教程中&#xff0c;您将学习如何&#xff1a; 使用 OpenCV 函数 cv::split 将图像划分…

网络安全实训Day24(End)

写在前面 并没有完整上完四个星期&#xff0c;老师已经趁着清明节假期的东风跑掉了。可以很明显地看出这次持续了“四个星期”实训的知识体系并不完整&#xff0c;内容也只能算是一次基础的“复习”。更多的内容还是靠自己继续自学吧。 网络空间安全实训-渗透测试 文件包含攻击…

用 C 语言进行大模型推理:探索 llama2.c 仓库(一)

文章目录 前提有关huggingface社区chinese-baby-llama2llama2.cexport.py读取模型信息重建模型对重建出的模型初始化权重导出run.c要求的.bin文件 tokenizer.py 一些思考参考链接 前提 最近发现了一个只用c语言就可以推理大模型的仓库llama2.c&#xff0c;作者是openAI的员工。…

把私有数据接入 LLMs:应用程序轻松集成 | 开源日报 No.236

run-llama/llama_index Stars: 29.9k License: MIT llama_index 是用于 LLM 应用程序的数据框架。 该项目解决了如何最佳地利用私有数据增强 LLMs&#xff0c;并提供以下工具&#xff1a; 提供数据连接器&#xff0c;以摄取现有的数据源和各种格式&#xff08;API、PDF、文档…

vite加密打包插件(vite-plugin-javascript-obfuscator)选项(option)详解

本文主要介绍vite加密打包插件(vite-plugin-javascript-obfuscator)选项(option)。 目录 一、选项(option)1. compact2. config3. controlFlowFlattening4. controlFlowFlatteningThreshold5. deadCodeInjection6. deadCodeInjectionThreshold7. debugProtection8.debugProtect…

【每日刷题】Day23

【每日刷题】Day23 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 138. 随机链表的复制 - 力扣&#xff08;LeetCode&#xff09; 2. 链表的回文结构_牛客题霸_牛客网 …