Linux定时计划

定时计划

一、计划任务种类

突发性:临时决定只执行一次的任务

at:处理执行一次任务就结束

定时性:每隔一定时间需要重复执行此命令

crontab:指定任务,按照设定的周期一直循环执行

二、作用

定时任务可以用于自动备份、系统清理、监控、自动化维护等任务

三、计划任务命令使用

1. at 命令
1.1 准备
#启动
[root@localhost ~]# systemctl start atd
#查看是否开启
[root@localhost ~]# systemctl status atd
#查看是否开机自启动
[root@localhost ~]# systemctl is-enabled atd
enabled#注意:程序后面带d都是守护进程
1.2创建计划任务
[root@localhost ~]# date 
2024年 05月 21日 星期二 02:57:54 CST
#第一种写法
[root@localhost ~]# at 02:59
at> mkdir wangchunlong
at> touch {1..20}.txt
at> <EOT>          #结束快捷键:ctrl+d
job 3 at Tue May 21 02:59:00 2024#第二种方式写法
[root@localhost ~]# at 0  :00 2024-06-01
at> mkdir dakao
at> touch yuguofeng/a.txt
at> <EOT>
job 4 at Sat Jun  1 03:00:00 2024[root@localhost ~]# at now +5min
at> mkdir cu
at> <EOT>
job 5 at Tue May 21 03:07:00 2024[root@localhost ~]# at 17:00 tomorrow
at> touch yu
at> <EOT>
job 6 at Wed May 22 17:00:00 2024[root@localhost ~]# at 07:00 pm +2 days
at> touch pl
at> <EOT>
job 7 at Thu May 23 19:00:00 2024[root@localhost ~]# at 23:00 < 1.txt
job 8 at Tue May 21 23:00:00 2024
1.3查看计划任务
[root@localhost ~]# at -l
4	Sat Jun  1 03:00:00 2024 a root
6	Wed May 22 17:00:00 2024 a root
7	Thu May 23 19:00:00 2024 a root
8	Tue May 21 23:00:00 2024 a root[root@localhost ~]# atq
4	Sat Jun  1 03:00:00 2024 a root
6	Wed May 22 17:00:00 2024 a root
7	Thu May 23 19:00:00 2024 a root
8	Tue May 21 23:00:00 2024 a rootroot@localhost ~]# ls /var/spool/at/
a0000401b4b3b4  a0000701b484d4  spool
a0000601b47ebc  a0000801b47a84
1.4删除计划任务
[root@localhost ~]# at -l
4	Sat Jun  1 03:00:00 2024 a root
6	Wed May 22 17:00:00 2024 a root
7	Thu May 23 19:00:00 2024 a root
8	Tue May 21 23:00:00 2024 a root[root@localhost ~]# atrm 8[root@localhost ~]# atq
4	Sat Jun  1 03:00:00 2024 a root
6	Wed May 22 17:00:00 2024 a root
7	Thu May 23 19:00:00 2024 a root
2. crontab 命令
2.1 准备
#同样需要启动服务
[root@localhost ~]# systemctl start crond
[root@localhost ~]# systemctl status crond
● crond.service - Command SchedulerLoaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)Active: active (running) since 一 2024-05-20 18:35:18 CST; 8h agoMain PID: 7386 (crond)Tasks: 1CGroup: /system.slice/crond.service└─7386 /usr/sbin/crond -n520 18:35:18 localhost.localdomain systemd[1]: Started Comma...
520 18:35:18 localhost.localdomain crond[7386]: (CRON) INFO ...
520 18:35:21 localhost.localdomain crond[7386]: (CRON) INFO ...
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# systemctl is-enabled crond
enabled
2.2 常见选项
-e:编辑cron定时计划任务
-l:查看当前用户定时计划任务
-u:设置crontab用户
-r:删除当前用户cron定时计划任务。      
-u user1 -l:列出指定用户user1下的cron服务的详细内容
2.3 特殊符号的含义
*代表取值范围内的数字(任意/每)
/指定时间的间隔频率*/10 0-23/2
-代表从某个数字到某个数字8-17
,分开几个离散的数字1,3,5,7

在这里插入图片描述

2.4 创建周期任务
#编辑脚本
[root@localhost spool]# crontab -e
*/1 * * * * echo "test" >> /root/1.txt[root@localhost spool]# crontab -l
*/1 * * * * echo "test" >> /root/1.txt[root@localhost ~]# crontab -u bin -e
*/1 * * * * echo "aaaaa" >> /root/2.txt
[root@localhost ~]# crontab -u bin -l
*/1 * * * * echo "aaaaa" >> /root/2.txt
2.5 查看周期任务
[root@localhost ~]# crontab -u bin -l[root@localhost spool]# crontab -l
2.6 查看所有用户的计划任务
[root@localhost ~]# ll /var/spool/cron/
总用量 8
-rw-------. 1 root root 40 521 04:23 bin
-rw-------. 1 root root 88 521 04:21 root
2.7 系统任务调度的配置文件
#也可以在/etc/crontab 中添加计划任务
[root@localhost ~]# vim /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root# For details see man 4 crontabs# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
[root@localhost bin]# ls /etc/cron
cron.d/       cron.deny     cron.monthly/ cron.weekly/
cron.daily/   cron.hourly/  crontab  
#cron.d  系统自动定期需要做的任务
#cron.monthly/ 每月执行的脚本
#cron.weekly/  每周执行的脚本
#cron.daily/   每天执行的脚本
#cron.hourly/ 每小时执行的脚本
#crontab   #主配置文件也可添加任务按小时、天、周、月执行的脚本需要保存到指定目录下并且拥有可执行权限脚本

四、at和cron黑白名单

at和cron黑名单默认允许所有,拒绝个别。

at和cron白名单默认拒绝所有,允许个别。

黑名单:默认存在、可直接使用
白名单:默认不存在,需手动创建后使用
黑名单中直接记录用户名即可
白名单优先级更高

日志管理

一、简介(起因)

在工作当中执行命令或者执行其他操作的时候,有时候避免不了报错,身为运维工程师我们可以通过日志查询报错的原因,或者找到攻击者当时留下的痕迹。

二、常见日志文件

系统日志文件概述/var/log目录报告由rsyslog维护的,存放特殊的系统和服务的日志文件

日志文件用途
/var/log/message大多数系统日志消息记录
/var/log/secure安全和身份验证相关的消息、登录失败的日志文件
/var/log/secure安全和身份验证相关的消息和错误的日志文件
/var/log/maillog与邮件服务器相关的消息日志文件
/var/log/cron定期执行任务相关的日志文件
/var/log/boot.log系统启动相关的消息记录
/var/log/dmesg硬件系统启动相关的消息记录

三、日志记录的方式

日志的记录:是在rsylog中由日志的类别级别组成

3.1 日志的类别
名称作用
daemon后台进程相关
kern内核产生的信息
lpr打印系统产生的
cron定时相关
mail邮件相关
syslog日志服务本身的
news新闻系统
authpriv安全验证
local10~7自定义的日志设备
local-local78个系统保留,程序使用或者是用户自定义
3.2 日志的级别
编码优先级严重性
7debug对开发人员调试应用程序有用
6info正常操作信息,可以收集报告,测试吞吐量
5notice注意,正常但重要的文件
4warning警告,如果不采取行动将会发生报错
!3err错误,某个模块或程序的功能不能正常使用
!2crit关键的错误,已经导致整个系统或软件不能使用
!1alert警报,需要立即修改的信息
!0emerg紧急,内核崩溃等严重消息

四、rsylog日志服务

4.1 查看日志配置文件信息
[root@localhost ~]# vim /etc/rsyslog.conf 
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
4.2 日志输入规则

. info 在大于等于info级别的信息全部记录到某个文件

. = 仅记录等于某个级别的日志文件

.=info  只记录info级别的日志.! 除了某个级别以外,记录所有的级别信息
.!err除了err所有都记录.none排除某个类别
mail.none 所有mail类别的日志都不记录

自定义日志

vim /etc/rsyslog.conf
#文件内容编辑
*.* /var/log/alert.log
systemctl restart rsyslog.service #重启rsyslog服务,使配置生效
4.2 防止日志文件删除
[root@localhost ~]# chattr +a /var/log/yum.log 
[root@localhost ~]# lsattr /var/log/yum.log 
-----a---------- /var/log/yum.log
[root@localhost ~]# systemctl restart rsyslog
[root@localhost ~]# 

五、日志切割轮替

5.1 起因

​ 如果某个服务器日志存储在一个文件上,当它的文件大小达到几个G以后,很难正常代开查看此文件里面的内容

5.2 解决办法

切割将大的日志文件按照固定大小分割成多个小的日志文件,一般会采取按日期分割,这样利于查看。

轮换将旧的日志删除,轮换新的日志内容

(超过保存时间或者一定文件大小的日志就会删除,然后将新的日志文件写入)。

5.3 日志文件命名规则

​ 如果日志没有命令规则,每天都是相同的文件名,那么今天所保存的日志文件就会覆盖前一天的日志文件。

5.4 logrotate配置文件
# see "man logrotate" for details
# rotate log files weekly
weekly# keep 4 weeks worth of backlogs
rotate 4# create new (empty) log files after rotating old ones
create# use date as a suffix of the rotated file
dateext# uncomment this if you want your log files compressed
#compress# RPM packages drop log rotation information into this directory
include /etc/logrotate.d# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {monthlycreate 0664 root utmpminsize 1Mrotate 1
}/var/log/btmp {missingokmonthlycreate 0600 root utmprotate 1
}
5.5 自定义日志切割轮替
vim /etc/logrotate.d/alllogroate -vf /etc/logroate.d/sshd#强制轮循
-v 显示指令执行过程
-f 强制执行#大日志文件使用split命令进行切割
spilt:文件拆分
-d:指定输出文件名的后缀长度用数字代替
5.6 实验(搭建远程日志收集服务器)

​ 服务端配置

vim /etc/rsyslog.conf$ModLoad imtcp$InputTcpServiceRun 514
systemctl restart rsyslog
netstat -anlpt | grep 514setenforce 0
systemctl stop firewalld
iptables -F

​ 客户端配置

​ 修改主机名

[root@localhost ~]# hostname  #查看主机名
localhost.localdomain
[root@localhost ~]# cat /etc/hostname #主机名保存文件
localhost.localdomain
[root@localhost ~]# hostnamectl set-hostname guofeng  #永久修改主机名#修改配置文件
[root@localhost ~]# vim /etc/rsylog.conf
*.*   @@192.168.161.131    #@@表示tcp协议  @表示udp协议
#重启服务 
[root@localhost ~]#systemctl restart rsylog

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

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

相关文章

如何将Windows PC变成Wi-Fi热点?这里提供详细步骤

序言 Windows 10和Windows 11都有内置功能,可以将你的笔记本电脑(或台式机)变成无线热点,允许其他设备连接到它并共享你的互联网连接。以下是操作指南。 由于Windows中隐藏的虚拟Wi-Fi适配器功能,你甚至可以在连接到另一个Wi-Fi网络或无线路由器时创建Wi-Fi热点,通过另…

Navicat 连接 OceanBase 快速入门 | 社区版

Navicat Premium&#xff08;16.1.9或更高版本&#xff09;正式支持 OceanBase全线数据库产品。OceanBase为现代数据架构打造的开源分布式数据库。兼容 MySQL 的单机分布式一体化国产开源数据库&#xff0c;具有原生分布式架构&#xff0c;支持金融级高可用、透明水平扩展、分布…

分布式音乐播放器适配了Stage模型

OpenAtom OpenHarmony&#xff08;以下简称“OpenHarmony”&#xff09;应用开发自API 8及其更早版本一直使用的是FA模型进行开发。FA模型是Feature Ability的缩写&#xff0c;它和PA&#xff08;Particle Ability&#xff09;两种类型是过往长期推广的术语&#xff0c;深入人心…

95.网络游戏逆向分析与漏洞攻防-ui界面的设计-ui的设计与架构

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果&#xff0c;代码看不懂是正常的&#xff0c;只要会抄就行&#xff0c;抄着抄着就能懂了 内容…

精品丨快速申请免费https证书

https域名证书对提高网站排名有一定的好处&#xff0c;所以当今很多企业为了给网站一个好的安全防护&#xff0c;就会去申请该证书。如今很多企业虽然重视网站的安全防护&#xff0c;但是也重视成本&#xff0c;所以为了节约成本会考虑申请免费的https证书。 第一个好处 企业不…

用Prometheus全面监控MySQL服务:一篇文章搞定

简介 在现代应用中&#xff0c;MySQL数据库的性能和稳定性对业务至关重要。有效的监控可以帮助预防问题并优化性能。Prometheus作为一款强大的开源监控系统&#xff0c;结合Grafana的可视化能力&#xff0c;可以提供全面的MySQL监控方案。 设置Prometheus 安装Prometheus 使…

机器学习预测-CNN手写字识别

介绍 这段代码是使用PyTorch实现的卷积神经网络&#xff08;CNN&#xff09;&#xff0c;用于在MNIST数据集上进行图像分类。让我一步步解释&#xff1a; 导入库&#xff1a;代码导入了必要的库&#xff0c;包括PyTorch&#xff08;torch&#xff09;、神经网络模块&#xff0…

queue学习

std::queue 类是一种容器适配器&#xff0c;它提供队列的功能——尤其是 FIFO&#xff08;先进先出&#xff09;数据结构。此类模板用处为底层容器的包装器——只提供特定的函数集合。queue 在底层容器尾端推入元素&#xff0c;从首端弹出元素。 元素访问 front 访问第一个元素…

Shell环境变量深入:自定义系统环境变量

Shell环境变量深入&#xff1a;自定义系统环境变量 目标 能够自定义系统级环境变量 全局配置文件/etc/profile应用场景 当前用户进入Shell环境初始化的时候会加载全局配置文件/etc/profile里面的环境变量, 供给所有Shell程序使用 以后只要是所有Shell程序或命令使用的变量…

0基础认识C语言

为了给0基础一个舒服的学习路径&#xff0c;就有了这个专栏希望带大家一起进步。 话不多说&#xff0c;开始正题。 一、C语言的一段小历史 C语言的设计要追溯到20世纪60年代末和70年代初&#xff0c;在那个时代美国有这么一号人叫做丹尼斯.里奇&#xff0c;他和同事肯.汤普逊…

【vue】el-select选择器实现宽度自适应

选择器的宽度根据内容长度进行变化 <div class"Space_content"><el-selectv-model"value":placeholder"$t(bot.roommessage)"class"select"size"small"style"margin-right: 10px"change"selectcha…

【MySQL】库的基础操作

&#x1f30e;库的操作 文章目录&#xff1a; 库的操作 创建删除数据库 数据库编码集和校验集 数据库的增删查改       数据库查找       数据库修改 备份和恢复 查看数据库连接情况 总结 前言&#xff1a;   数据库操作是软件开发中不可或缺的一部分&#xff0…

若依框架对于后端返回异常后怎么处理?

1、后端返回自定义异常serviceException 2、触发该异常后返回json数据 因为若依对请求和响应都封装了&#xff0c;所以根据返回值response获取不到Code值但若依提供了一个catch方法用来捕获返回异常的数据 3、处理的方法

如何利用已有数据对模型进行微调

1.langchain整合llm做知识问答 利用LangChain的能力来结合检索和生成&#xff0c;形成一个知识增强的问答系统&#xff08;不涉及对模型的微调&#xff09;&#xff0c;而是利用llm从文档检索到问题解答。 langchain整合llm做知识检索 2.微调llm模型 1、首先是我们的数据集&…

python数据分析——数据可视化(图形绘制)

数据可视化&#xff08;图形绘制基础&#xff09; 前言一、图形绘制基础Matplotlib简介使用过程sin函数示例 二、常用图形绘制折线图的绘制plot示例 散点图的绘制scatter()示例 柱状图的绘制bar示例 箱型图绘制plot.box示例 饼状图的绘制pie示例 三、图形绘制的组合情况多个折线…

HTML静态网页成品作业(HTML+CSS)——宠物狗介绍网页(3个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有3个页面。 二、作品演示 三、代…

HCIP-Datacom-ARST自选题库__BGP判断【20道题】

1.传统的BGP-4只能管理IPV4单播路由信息&#xff0c;MP-BGP为了提供对多种网络层协议的支持&#xff0c;对BGP-4进行了扩展。其中MP-BGP对IPv6单播网络的支持特性称为BGP4&#xff0c;BGP4通过Next Hop属性携带路由下一跳地址信息。 2.BGP4通过Update报文中的Next Hop属性携带…

大模型额外篇章二:基于chalm3或Llama2-7b训练酒店助手模型

文章目录 一、代码部分讲解二、实际部署步骤(CHALM3训练步骤)1)注册AutoDL官网实名认证2)花费额度挑选GPU3)准备实验环境4)开始执行脚本5)从浏览器访问6)可以开始提问7)开始微调模型8)测试训练后的模型三、基于Llama2-7b的训练四、额外补充1)修改参数后2)如果需要访问…

告别红色波浪线:tsconfig.json 配置详解

使用PC端的朋友&#xff0c;请将页面缩小到最小比例&#xff0c;阅读最佳&#xff01; tsconfig.json 文件用于配置 TypeScript 项目的编译选项。如果配不对&#xff0c;就会在项目中显示一波又一波的红色波浪线&#xff0c;警告你这些地方的类型声明存在问题。 一般我们遇到这…

C语言对一阶指针 二阶指针的本质理解

代码&#xff1a; #include <stdio.h>char a 2; char* p &a; char** d &p;int main(){printf("a -> %d, &a -> %p\n", a, &a);printf("*p -> %d, p -> %p, &p -> %p\n", *p, p, &p);printf(&qu…