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:00noon +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循环任务调度实现,主要是在用户文件中编辑时间间隔和处理命令;以及日志管理的方法,包括日志查看记录,日志远程管理方法及归档处理。

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

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

相关文章

【SpringBoot + Vue 尚庭公寓实战】地区信息管理接口实现(九)

【SpringBoot Vue 尚庭公寓实战】地区信息管理接口实现(九) 文章目录 【SpringBoot Vue 尚庭公寓实战】地区信息管理接口实现(九)1、业务说明2、数据逻辑模型3、接口实现3.1、查询省份信息列表3.2、根据省份ID查询城市信息列表3…

AGI|以ChatGPT为例,浅析AI究竟能干什么?

目录 一、前言 二、ChatGPT 三、Prompt Engineering 四、神经网络 五、后记 一、前言 当一个新事物的出现,最好的办法就是了解它出现的背景,发展的历史。 当ChatGPT出现在我们面前,多轮对话能力让人震惊,仿佛机器真的可以&qu…

ASP .Net Core创建一个httppost请求并添加证书

ASP .Net Core创建一个httppost请求并添加证书 创建.net Core程序,使用自签名证书,可以处理https的get和post请求。 创建证书 创建自签名证书的流程可以在这里查看: https://blog.csdn.net/GoodCooking/article/details/139815278创建完毕…

充电学习— 9、Typec Pd

GND:线缆接地 TX RX:数据流data传输,支持2.0 3.0 speed兼容 VBUS:线缆cable电源,bus power CC:电缆cable的连接、方向、角色检测和当前模式的配置通道; 有emark时, 一个成为VCONN&am…

易基因:MeRIP-seq等揭示RNA m6A去甲基化酶调控植物雄性不育的分子机制 | 科研速递

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 水稻是全球重要的农作物,也是单子叶植物模型。在水稻中,N6-甲基腺苷(m6A)mRNA修饰对植物的发育和胁迫响应至关重要。OsFIP37作为m6A甲基化…

聊聊其他之ShowDoc安装部署

聊聊其他之ShowDoc安装部署 Docker离线安装部署 由于很多公司服务器处于内网环境,跟外网阻断,所以需要通过离线的方式进行Docker镜像安装。 Linux环境准备 第一步:检查防火墙,是否关闭。 查看防火墙状态: [rootlo…

【第22章】Vue实战篇之文章分类

文章目录 前言一、文章分类列表查询1. 界面2. 脚本3. 展示 二、文章分类添加1. 界面2. 接口脚本3. 点击事件 三、文章分类编辑1. 界面2. 接口脚本3. 点击事件 四、文章分类删除1. 界面2. 接口脚本3. 点击事件 总结 前言 这里来学习文章分类相关界面和接口的调用(增删改查)。 一…

含铬废水有哪些危害?含铬废水怎么处理呢?

铬化物可以通过消化道、呼吸道、皮肤和粘膜侵人人体,主要积聚在肝、肾、内分泌系统和肺部。毒理作用是影响体内物质氧化、还原和水解过程,与核酸、核蛋白结合影响组织中的磷含量。铬化合物具有致癌作用。 铬化合物以蒸汽和粉尘的方式进入人体组织中&…

低版本火狐浏览器报错:class is a reserved identifier

低版本火狐浏览器报错:class is a reserved identifier 原因:react-dnd,dnd-core 等node包的相关依赖有过更新,使得在低版本火狐浏览器中不支持 class 解决方法:在使用webpack打包构建时,编译排除node_modu…

每日复盘-202406020

今日关注: 20240620 六日涨幅最大: ------1--------300462--------- 华铭智能 五日涨幅最大: ------1--------300462--------- 华铭智能 四日涨幅最大: ------1--------300462--------- 华铭智能 三日涨幅最大: ------1--------300462--------- 华铭智能 二日涨幅最…

基于DE2-115平台的VGA显示实验

一.任务需求 深入了解VGA协议,理解不同显示模式下的VGA控制时序参数(行频、场频、水平/垂直同步时钟周期、显示后沿/前沿等概念和计算方式);通过Verilog编程,在至少2种显示模式下(64048060Hz,102476875Hz&…

惠海H4120 降压IC 40V 36V 30V降压5V3A 9V3A 12V3A 动态响应优异,低纹波

H4120是一款功能优良的异步降压型DC-DC转换器。它的主要特性和优势如下: 产品特性: 内置40V耐压MOS:内置的高耐压MOS使得H4120能够处理更多种的输入电压范围,增强了其适用性和可靠性。 宽输入范围:输入电压可在5V至…

基于SpringBoot+Vue电影推荐系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝1W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还…

安装Xshell和Xftp后,打开程序下无法使用,要继续使用此程序,您必须应用最新的更新或使用新版本。

之前我遇到这种情况的时候,修改了nslicense.dll,结果这次重新下载结果把修改代码给忘了(因为我也不会这个),于是我用了最直接的办法去官网找最新版本下载:xshell/xftp官网 后面直接点下载,然后开…

C语言结构体给结构体赋值

C语言可以把一个结构体变量直接赋给另一个结构体变量,各成员的值会自己赋过去; struct Person {char name[20];int age;int high; }; ...... void CTest1View::OnDraw(CDC* pDC) {CTest1Doc* pDoc GetDocument();ASSERT_VALID(pDoc);// TODO: add draw…

Linux系统:线程概念 线程控制

Linux系统:线程概念 & 线程控制 线程概念轻量级进程 LWP页表 线程控制POSIX 线程库 - ptherad线程创建pthread_createpthread_self 线程退出pthread_exitpthread_cancelpthread_joinpthread_detach 线程架构线程与地址空间线程与pthread动态库 线程的优缺点 线程…

如何恢复苹果手机数据?盘点3个实用恢复方法!

苹果手机数据丢失固然是一件很痛心的事,但是在这个信息发达的网络时代,想要恢复数据其实也并不复杂。只要用对方法,是有很大概率能够恢复的。那么针对iPhone用户来说,苹果数据恢复的方法是什么呢?下来让我们一起来看看…

go sync包(一) 互斥锁(一)

Sync包 sync包是go提供的用于并发控制的方法,类似于Java的JUC包。 (图片来自《go设计与实现》) 互斥锁 Mutex Go 语言的 sync.Mutex 由两个字段 state 和 sema 组成。 state 表示当前互斥锁的状态。sema 是用于控制锁状态的信号量。 ty…

java读取wps嵌入式图片思路

这个只写了思路具体代码在文章最后,不想了解得直接去拿代码 了解Excel数据结构 Excel 文件格式后缀xls,xlsx 其实是一个压缩文件,是由多个文件夹以及xml 文件组合为一个文件,xml文件记录了Excel得内容以及样式等信息。加入在桌面新建一个xls…

【PL理论】(34) 类型系统:不完备性 | 为什么推导树推导失败? | 实现类型系统 | 调整到类型系统 | 思考:强制程序员写类型还是自动推断类型?

💬 写在前面:回顾我们的目标是为 F- 语言设计一个完备但不完全的类型系统,本章我们探讨的主题是类型系统的完备性。 目录 0x00 类型系统的不完备性 0x01 为什么推导树推导失败? 0x02 实现类型系统 0x03 调整到类型系统 0x04…