Linux计划任务与日志

计划任务

主要用于完成一些周期性任务及定时任务,Windows中也有该功能:
Windows计划任务

单次调度执行

yum install -y at安装at工具,systemctl start atd启动服务,使用方法为at 选项 时间 执行内容时间可以自由设置,开启的栏目中输入具体任务,执行后命令失效,编辑任务使用ctrl+d退出编辑,具体选项如下:

-f:指定包含具体指令的任务文件
-q:指定新任务的队列名称
-l:显示待执行任务的列表
-d:删除指定的待执行任务

也可以使用子命令atq查看待执行的任务和atrm通过序号删除任务,时间规定写法如下:

  now +5min            # 从现在开始5分钟后
  teatime tomorrow  # 明天的下午16:00
  noon +4 days        # 4天后的中午
  11:20 AM            # 早上11:20

设置五分钟后创建文件的命令示例如图:
创建文件命令

循环调度执行

这种计划任务方式比较常用,可设置多次循环执行任务,可使用cron工具实现,通过systemctl start crond.service启动服务,基本语法为cron 选项,具体选项有:

-l:列出当前用户的定时任务。
-r:删除当前用户的定时任务。
-e:编辑当前用户的定时任务。
-n:检查定时任务是否可用。
-m:发送类似于电子邮件的消息,用于通知定时任务执行的结果
-u:指定用户

/etc/cron.deny文件为cron黑名单,文件内的用户无法使用cron,配置任务通过cron -e实现,格式如下:

分 时 日 月 星期>>任务指令 
任务指令可以是语句,也可以是脚本文件
*标识任意都符合
0 2 * * * date >> date.txt    # 每天的2点
0 2 14 * * date >> date.txt    # 每月14号2点
0 2 14 2 * date >> date.txt    # 每年2月14号2点
0 2 * * 5 date >> date.txt    # 每个星期5的2点
0 2 * 6 5 date >> date.txt    # 每年6月份的星期5的2点
0 2 2 * 5 date >> date.txt    # 每月2号或者星期5的2点   星期和日同时存在,那么就是或的关系
0 2 2 6 5 date >> date.txt    # 每年6月2号或者星期5的2点

* /5 * * * * date >> date.txt    # 每隔5分钟执行一次
0 2 1,4,6 * * date >> date.txt    # 每月1号,4号,6号的2点
0 2 5-9 * * date >> date.txt        # 每月5-9号的2点

* * * * * date >> date.txt        # 每分钟
0 * * * * date >> date.txt        # 每整点
* * 2 * * date >> date.txt        # 每月2号的每分钟

任务存放在/var/spool/cron/用户名文件中

系统任务

清理临时文件/tmp /var/tmp,日志轮转lgrotate等操作,通常不由用户定义,系统任务文件展示如下:
系统任务

日志管理

系统运行产生的各种错误和提示信息都存在日志文件中,系统出错时,运维人员首先要查看的就是日志文件,常见日志的存储位置如下:

/var/log/messages		系统主日志文件
/var/log/secure			记录认证、安全的日志
/var/log/maillog		跟邮件postfix相关
/var/log/cron			crond、at进程产生的日志
/var/log/dmesg			记录系统启动时加载的硬件相关信息日志
/var/log/yum.log		yum的日志
/var/log/mysqld.log		MySQL日志
var/log/xferlog			和访问FTP服务器相关
/var/log/boot.log		系统启动过程日志记录存放
/var/log/wtmp			当前登录的用户(可以直接在命令行输入w查看)
/var/log/lastlog		所有用户的登录情况(可以直接在命令行输入lastlog查看)

日志文件可以直接使用catvi命令查看,但日志文件通常较长,可以使用grepawk过滤后再进行分析。

日志管理系统

日志管理系统rsyslogd,即处理日志的进程,处理绝大部分日志记录,和系统操作有关,安全,认证sshd,su,计划任务at,cron等,sql、http、nginx有其自己的方式记录日志。

日志可以存放在本地,也可以存放在远程服务器堡垒机上,使得运维人员无需登录内网主机也可查看主机日志,方便进行管理。

日志配置文件主要有以下几种:

/etc/logrotate.d/syslog        # 日志轮转(切割)相关
/etc/rsyslog.conf            # rsyslogd的主配置文件
/etc/sysconfig/rsyslog        # rsyslogd相关文件

主配置文件告诉rsyslogd进程 哪个设备(facility),关于哪个级别的信息,以及如何处理,部分代码展示如下:
主配置文件

不同的日志类型如下;

序号	Facility		解释
0		kern (kernel)	Linux内核产生的信息,大部分是硬件检测和内核功能的启用
1		user			用户层级产生的信息,例如后边介绍的通过logger产生的日志信息
2		mail			所有邮件收发的相关信息
3		daemon			系统服务产生的信息
4		auth			与认证、授权相关的信息,如login、ssh、su等产生的信息
5		syslog			syslogd服务产生的信息
6		lpr				打印相关的信息
7		news			新闻群组相关的信息
8		uucp			Unix to Unix Copy Protocol 早期Unix系统间的数据交换协议
9		cron			周期性计划任务程序,如cron、at等产生的信息
10		authpriv		与auth类似,但记录的多为帐号相关的信息,如pam模块的调用等
16~23	local0~local7	保留给本地用户使用的日志类型,通常与终端交互相关。

不同日志级别分类如下:

LOG_EMERG	紧急,致命,服务无法继续运行,如配置文件丢失
LOG_ALERT	报警,需要立即处理,如磁盘空间使用95%
LOG_CRIT	致命行为
LOG_ERR(error)	错误行为
LOG_WARNING	警告信息
LOG_NOTICE	普通
LOG_INFO	标准信息
LOG_DEBUG	调试信息,排错才开,一般不建议使用

远程管理日志方法在此

日志归档

避免日志存储单一文件过大, 可使用logrotate给日志进行归档,便于查看查找,也避免单一文件过大影响写入效率,该归档方法为按日期归档,当前日志以日期命名,不含日期的日志文件为最新的记录。

其本质是挂在cron配置目录cron.daily下面,通过计划任务实现,所以会被cron每天执行一次,
归档文件本质
日志轮转配置文件如图:
分别对应,轮转间隔weekly、保留历史文件数量rotate 4即删除序号为5以后的文件、轮转后创建新的日志文件create、使用日期而非数字标识轮转dateext、加载配置文件、对其他日志的特殊设置信息。
轮转配置文件

总结

本章学习了Linux计划任务的设置方法——通过cron循环任务调度实现,主要是在用户文件中编辑时间间隔和处理命令;以及日志管理的方法,包括日志查看记录,日志远程管理方法及归档处理。

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

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

相关文章

【网络安全产品】---网闸

了解了不少安全产品,但是对网闸的理解一直比较模糊,今天 what 网闸是安全隔离与信息交换系统的简称,使得在不影响数据正常通信的前提下,让络在不连通的情况下数据的安全交换和资源共享,对不同安全域/网络之间实现真正…

【可控图像生成系列论文(二)】MimicBrush 港大、阿里、蚂蚁集团合作论文解读2

【可控图像生成系列论文(一)】简要介绍了论文的整体流程和方法,本文则将就整体方法、模型结构、训练数据和纹理迁移进行详细介绍。 1.整体方法 MimicBrush 的整体框架如下图所示。为了实现模仿编辑,作者设计了一种具有双扩散模型…

【Python】一文向您详细解析内置装饰器 @lru_cache

【Python】一文向您详细解析内置装饰器 lru_cache 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本硕&a…

QT-QPainter实现一个可切换的开关控件

1、效果 2、核心代码 #ifndef SWITCH_H #define SWITCH_H #include <QWidget> #include <QTimer>

GitLab项目组相关操作(创建项目组Group、创建项目组的项目、为项目添加成员并赋予权限)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。 君不见,黄河之水天上来,奔流到海不复回。 君不见,高堂明镜悲白发,朝如青丝暮成雪。 ——《将…

信息学奥赛初赛天天练-30CSP-J2022完善程序-结构体构造函数初始化、auto关键字、连通块、洪水填充算法实战

PDF文档公众号回复关键字:20240620 2022 CSP-J 阅读程序2 完善程序 (单选题 &#xff0c;每小题3分&#xff0c;共30分) 2 (洪水填充) 现有用字符标记像素颜色的8 * 8图像。颜色填充操作描述如下&#xff1a;给定起始像素的位置和待填充的颜色&#xff0c;将起始像素和所有可…

【JavaEE】Spring Boot MyBatis详解(二)

一.解决数据库字段名和对象属性名冲突的问题. 产生这个问题的本质原因就是Java 属性名和数据库字段的命名规范不同. 这个问题的本质就是查询数据库返回了字段,但是不知道和Java对象的哪个属性相对应 1.注解的解决方法 注解的解决方式有三种: 方式一:给数据库字段起别名. 本质…

QT-QPainter实现一个动态充电的电池

1、效果 2、核心代码 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimer>

全网最全postman接口测试教程和项目实战~从入门到精通

Postman实现接口测试内容大纲一览&#xff1a; 一、什么是接口&#xff1f;为什么需要接口&#xff1f; 接口指的是实体或者软件提供给外界的一种服务。 因为接口能使我们的实体或者软件的内部数据能够被外部进行修改。从而使得内部和外部实现数据交互。所以需要接口。 比如&…

番外篇 | 基于改进YOLOv5的安全帽佩戴检测 | 重参数化结构RepVGG + 空间对象注意力机制RCS-OSA模块

前言:Hello大家好,我是小哥谈。RCS-YOLO是一种目标检测算法,它是基于YOLOv3算法的改进版本。通过查看RCS-YOLO的整体架构可知,其中包括RCS-OSA模块。RCS-OSA模块在模型中用于堆叠RCS模块,以确保特征的复用并加强不同层之间的信息流动。本文针对安全帽佩戴的检测就是基于RC…

[leetcode hot 150]第十五题,三数之和

题目&#xff1a; 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复…

RSA 加密算法的基础数论、基本原理与 Python 实现

Title: RSA 加密算法的基础数论、基本原理与 Python 实现 文章目录 前言I. 数学原理1. 整数环2. 单位元3. 欧拉定理 II. 算法原理1. 扩展欧几里得算法2. RSA 非对称加密算法 III. 算法实现1. 源代码2. 测试结果 总结参考文献 前言 1977 年美国 MIT 的三位数学家 Ronald L. Riv…

startActivity启动流程

从桌面点击应用图标开始到Activity创建并执行onCreate&#xff0c;activity的启动涉及到两个进程system_server(AMS所在进程)和Zygote(如果进程没有创建需要先创建) 下图是从点击图标开始执行startActivity&#xff0c;一直到ActivityTaskSupervisor&#xff0c;到ActivityTas…

QT自定义标题栏窗口其二:实现拖动及可拉伸效果 + 顶部全屏/侧边半屏

1、效果 2、核心代码 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent<

CesiumJS整合ThreeJS插件封装

最近做项目有一个三维需求使用CesiumJS比较难以实现&#xff0c;发现THREEJS中效果比较合适&#xff0c;于是准备将THREEJS整合到CesiumJS中 为实现效果所需我们找到官方Integrating Cesium with Three.js博客&#xff0c;于是根据该博客提供的思路去实现整合 文章目录 一、创…

MySQL快速安装(mysql8.0.30区别之前yum安装)

目录 一.初始化环境并解压 二.创建程序用户管理 三.修改mysql目录和配置文件的权限 四.修改配置文件 五.设置环境变量&#xff0c;申明/宣告mysql命令便于系统识别 六.初始化数据库 七.设置系统识别&#xff0c;进行操作 八.初始化数据库密码 九.用户并设置密码 十.赋…

FinalReference 如何使 GC 过程变得拖拖拉拉

本文基于 OpenJDK17 进行讨论&#xff0c;垃圾回收器为 ZGC。 提示&#xff1a; 为了方便大家索引&#xff0c;特将在上篇文章 《以 ZGC 为例&#xff0c;谈一谈 JVM 是如何实现 Reference 语义的》 中讨论的众多主题独立出来。 FinalReference 对于我们来说是一种比较陌生的 R…

Python - 各种计算器合集【附源码】

计算器合集 一&#xff1a;极简版计算器二&#xff1a;简易版计算器三&#xff1a;不简易的计算器四&#xff1a;还可以计算器 一&#xff1a;极简版计算器 运行效果&#xff1a; import tkinter as tk import tkinter.messagebox win tk.Tk() win.title("计算器")…

如何高效应用与精准选择温补晶振

温补晶振(TCXO)是一种重要的时序元件&#xff0c;因其高精度和高稳定性在通信、导航、测控等多个领域中扮演着关键角色。晶发电子接下来将为您详细阐述温补晶振的选用和使用方法&#xff0c;助您更好地理解和运用这一核心元件。 一、温补晶振的工作原理 温补晶振能够实现在广…

绿茶集团重启IPO:流量渐退、业绩波动,还能讲出好故事吗?

近日&#xff0c;绿茶集团有限公司(下称“绿茶集团”)向港交所递交上市申请&#xff0c;花旗、招银国际为其联席保荐人。 回望绿茶集团的上市之路&#xff0c;可谓有诸多坎坷。该公司于2021年3月首度向港交所发起冲击&#xff0c;但却将中文版招股书中的“流动负债总额”错写成…