当前位置: 首页 > news >正文

今天开始学习新内容“服务集群与自动化”--crond服务、--syslog服务以及DHCP协议

一.crond简介


1、基本介绍

        crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。Linux下的任务调度分为两类,系统任务调度和用户任务调度。

系统任务调度:

[root@localhost ~]# cat /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

注意:该文件下的“*”从左往右代表分、时、日、月、周。所以最小周期是分钟

示例:进入/etc/crontab  写入以最小周期删除/opt/下的所有内容,需等待一分钟。

[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 rm -rf /opt/*
[root@localhost ~]# mkdir /opt/dir1
[root@localhost ~]# systemctl restart crond.service 
[root@localhost opt]# ls
dir1
[root@localhost opt]# ls
[root@localhost opt]#

写入/etc/crontab文件的内容必须要systemctl restart crond.service重启一下才能生效。

用sed命令注释最后一行

[root@localhost ~]# sed -i 's/.*root rm -rf.*/#&/' /etc/crontab 
[root@localhost ~]# cat /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 rm -rf /opt/*

删除最后一行

[root@localhost ~]# sed -i '/.*root rm -rf.*/d' /etc/crontab 
[root@localhost ~]# !cat 
cat /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

用户任务调度:

用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab 文件都被保存在 /var/spool/cron目录中。其文件名与用户名一致。下面是几个特殊的文件介绍:

  • 文件:/etc/cron.deny                该文件中所列用户不允许使用crontab命令

  • 文件:/etc/cron.allow                该文件中所列用户允许使用crontab命令

  • 文件:/var/spool/cron/              所有用户crontab文件存放的目录,以用户名命名

[root@localhost ~]# crontab -e -u root
crontab: installing new crontab
[root@localhost ~]# crontab -l -u root
* * * * * rm -rf /opt/*

注意:crontab -l -u仅限于查看用crontab -e -u 写入的内容

二、crond服务


安装crontab

[root@localhost ~]# yum install crontabs

服务操作说明

systemctl start crond  #启动服务
systemctl stop crond   #关闭服务
systemctl restart crond #重启服务
systemctl reload crond #重新载入配置

查看crontab服务状态

[root@localhost ~]# systemctl status crond
○ crond.service - Command Scheduler

加入开机自启动

[root@localhost ~]# systemctl enable crond

三、crontab命令详解


命令参数

  • -u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。

  • file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。

  • -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。

  • -l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。

  • -r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。

  • -i:在删除用户的crontab文件时给确认提示。

四、使用注意事项


1.注意环境变量

2、注意清理系统用户的邮件日志

3、系统级任务调度与用户级任务调度

4、其他注意事项

  • 新创建的cron job,不会马上执行,至少要过2分钟才执行。

  • 如果重启cron则马上执行。当crontab突然失效时,可以尝试/etc/init.d/crond restart解决问题。或者查看日志看某个job有没有执行/报错tail -f /var/log/cron。

  • 千万别乱运行crontab -r。它从Crontab目录(/var/spool/cron)中删除用户的Crontab文件。删除了该用户的所有crontab都没了。

  • 在crontab中%是有特殊含义的,表示换行的意思。如果要用的话必须进行转义\%,如经常用的date ‘+%Y%m%d’在crontab里是不会执行的,应该换成date ‘+\%Y\%m\%d

Syslog日志服务(了解一下)


日志级别(英文)级别值含义描述典型应用场景示例信息
DEBUG(调试)7最详细的调试信息,用于开发和问题排查,记录程序内部运行细节应用程序开发调试、复杂问题诊断"用户登录函数被调用,参数:username=admin"
INFO(信息)6正常运行状态信息,确认系统按预期工作,无错误服务启动 / 停止、用户正常操作、定时任务执行成功"Nginx 服务已启动,监听端口 80"
NOTICE(注意)5需要注意的非严重异常,不影响系统正常运行用户密码错误次数较少、非预期但轻微的事件"用户 admin 输入密码错误 1 次"
WARNING(警告)4潜在问题或异常,不处理可能导致错误,但当前系统仍可运行磁盘空间不足(未达阈值)、网络连接波动、配置参数不优"根目录磁盘使用率达到 85%(阈值 90%)"
ERROR2(错误)3错误事件,导致部分功能失效,但不影响系统整体运行程序模块崩溃、文件读取失败、服务子进程异常退出"MySQL 备份失败:无法访问 /data/backup 目录"
CRITICAL(严重)2严重错误,可能导致系统核心功能失效,需立即关注数据库连接失败、关键服务崩溃、权限配置错误导致核心功能不可用"Nginx 服务崩溃,已自动重启(第 3 次)"
ALERT(警报)1紧急情况,必须立即手动干预,否则将产生严重后果磁盘空间耗尽、root 用户登录失败多次、关键配置文件被篡改"根目录磁盘使用率 100%,系统无法写入数据"
EMERGENCY(紧急)0最高级别,系统处于不可用状态(灾难级故障),需立即处理系统内核崩溃、文件系统损坏、服务器断电前的最后日志"系统内存耗尽,触发 OOM killer,终止了 10 个进程"

Linux Journalctl命令


Journalctl基础使用

查看所有日志(分页输出)

journalctl或者journalctl --no-pager

[root@localhost ~]# journalctl -xe
9月 13 06:40:43 localhost.localdomain sshd[232927]: Close session: user root from 192.168.60.1 p>

查看最新的n条日志

[root@localhost ~]# journalctl -n 6
9月 13 06:51:54 localhost.localdomain sshd[232927]: Starting sessi>
9月 13 06:51:55 localhost.localdomain sshd[232927]: Close session:>
9月 13 06:52:05 localhost.localdomain sshd[232927]: Starting sessi>
9月 13 06:52:05 localhost.localdomain sshd[232927]: Close session:>
9月 13 06:52:16 localhost.localdomain sshd[232927]: Starting sessi>
9月 13 06:52:16 localhost.localdomain sshd[232927]: Close session:

实时查看新添加的日志条目

[root@localhost ~]# journalctl -f
9月 13 06:42:41 localhost.localdomain sshd[232927]: Starting session: command for root from 192.168.60.1 port 65315 id 2

根据服务名称过滤

[root@localhost ~]# journalctl -u atd.service 
9月 12 14:08:15 localhost.localdomain systemd[1]: Started Deferred>
9月 12 14:08:15 localhost.localdomain (atd)[1096]: atd.service: Re>

DHCP协议(动态主机配置协议)


一、 概述


作用:动态的进行IP地址分配

服务端的监听端口 67/udp

客户端监听端口 68/udp

网络架构 C/S:client/server

DHCP的优势

  • 提高配置效率

  • 减少配置错误

DHCP的分配方式

  • 手动分配:固定不变,工程师进行地址绑定

  • 自动分配:但是不进行地址回收

  • 动态分配:进行地址回收

注意

​ 同一个网络环境下不允许存在多个DHCP服务器


文章转载自:

http://OonHeDEP.xnLtz.cn
http://52p6qPiB.xnLtz.cn
http://iQXycdF7.xnLtz.cn
http://K4mB3IQ9.xnLtz.cn
http://pCnk4f7b.xnLtz.cn
http://EJvTJy6Z.xnLtz.cn
http://VvlGfAtp.xnLtz.cn
http://sXuEWrW0.xnLtz.cn
http://9j8LpxxD.xnLtz.cn
http://V4HZfnPo.xnLtz.cn
http://gqLX80J5.xnLtz.cn
http://vhK29PBV.xnLtz.cn
http://Mhb4jEEe.xnLtz.cn
http://fpf2CA0Q.xnLtz.cn
http://EbDx6Vur.xnLtz.cn
http://9uZGAuKL.xnLtz.cn
http://Ctth5gEJ.xnLtz.cn
http://dtpTzCEU.xnLtz.cn
http://PlurdzZc.xnLtz.cn
http://VwPQtGqA.xnLtz.cn
http://GVHRRI8o.xnLtz.cn
http://jcZTwbTJ.xnLtz.cn
http://MSF9qAWN.xnLtz.cn
http://awd73tHp.xnLtz.cn
http://LQXix9wj.xnLtz.cn
http://kPmw3Ecd.xnLtz.cn
http://f6UMsl8b.xnLtz.cn
http://Rg61STFH.xnLtz.cn
http://FmpjceG9.xnLtz.cn
http://RtbH2PkM.xnLtz.cn
http://www.dtcms.com/a/384280.html

相关文章:

  • LeetCode 379 - 电话目录管理系统(Design Phone Directory)
  • 《Python 自动化实战:从零构建一个文件同步工具》
  • 风险规则引擎-RPA 作为自动化依赖业务决策流程的强大工具
  • Vue: 模板引用 (Template Refs)
  • Web2 vs Web3
  • 上海交大3D体素赋能具身导航!BeliefMapNav:基于3D体素信念图的零样本目标导航
  • SAP-ABAP:SAP ABAP中的JSON序列化利器:/UI2/CL_JSON=>SERIALIZE完全指南实例详解
  • stm32 can错误处理问题
  • python 自动化从入门到实战-开发一个随机点名系统(6)
  • 如何用 GitHub Actions 为 FastAPI 项目打造自动化测试流水线?
  • godot+visual studio配置c#环境
  • 文件查找失败:‘module‘ at node_modules\sass\sass.node.js:7
  • (一)Vue.js 框架简介
  • Vue 中在 Vue 项目中引入 Cesium 并加载本地离线地图
  • Node.js ≥ 18 安装教程
  • 第四阶段C#通讯开发-4:网络通讯_网络协议
  • 如何实现测试环境隔离临时数据库(pytest+SQLite)
  • 像连接mysql一样连接mongodb
  • 从零开始搞定C++类和对象(下)
  • 企业级实战:构建基于Qt、C++与YOLOv8的模块化工业视觉检测系统
  • TexturePacker 打包 TextAtlas:按顺序排列
  • MyBatis 核心概念与实践指南:从代理模式到性能优化
  • 全链路性能优化实战:从Jmeter压测到系统调优
  • 《华为变革法:打造可持续进步的组织》读书笔记
  • VS Code 通用配置分享(Cursor / QCode / Trae 通用)
  • python 自动化从入门到实战-word转为 PDF 文件(4)
  • Python爬虫实战:研究Pandas,构建地理信息数据采集和分析系统
  • 【Linux】进程概念(二):进程查看与 fork 初探
  • Python 自动化从入门到实战-一键将 Excel 表格转为 PDF 文件(3)
  • FFMPEG FLV