计划任务与系统日志管理

简介:

计划任务与系统日志管理


实验背景:


为了更好地了解和控制Linux 服务器的有序运行,需要管理员熟悉进程管理和计划任务设置的相关操作,以完成各种运行维护任务;

在Linux服务器上运行的程序会把系统消息和错误消息写入相应的日志文件,一旦出现异常就会“有据可查”,充分了解并灵活使用日志,有助于快速诊断和解决运维过程中遇到的问题。




实验内容:


1.使用at机制管理一次性延时执行的任务。


2.使用cron机制管理按固定周期重复执行的任务。


3.分析系统通用日志、内核日志,了解系统和服务程序运行情况。


4.分析与用户相关的日志,了解用户账号的登录情况。


5.搭建syslog日志服务器,集中存放来自其他服务器的日志记录。


实验实践:


1.管理at一次性计划任务


1)确认atd服务处于运行状态

#service atd status//查看服务的状态

#/etc/init.d/atd restart//启动服务

#chkconfig atd on//没有启动的话启动服务

2)at的使用限制

#ls /etc/at.allow//搜寻限制文档

#ls /etc/at.deny

3)添加并验证at的延时任务

#atq//查看当前at任务

#date

#at 17:30

at>bin/mkdir tmp/jihua//延时任务的第一条执行语句

at>bin/touch  tmp/jihua/a.file  //最好用mkdir和touch绝对路径

at><EOT>//按Ctrl+d 提交计划

#atq//查询已添加的at任务列表

#ls -lh /tmp/jihua//时间未到时,任务未执行

#ls -lh /tmp/jihua//时间到,任务已经执行

 同时指定时间、日期的at任务

#at 22:30 2014-06-01

at>shutdown -r now

at> <EOT>

#atq

#at -c 2//查看第二条计划任务的内容

4)at计划任务的删除

#atrm 2//删除第二条计划任务


#atq//再查找找不到了


2.管理cron周期性计划任务

1)#service crond status

#ls /etc/cron.allow//满足allow,不再查询deny

#ls /etc/cron.deny

#cat /etc/crontab//查看一下全局计划配置

2)添加并验证crontab的周期性计划任务

#crontab -e//编辑当前用户的计划任务

30 7 * * * tar zcf opt/etcbak-$(date +\%Y\%m\%d).tgz /etc/

  //每天早上7点半tar备份整个/etc目录

#crontab -l

#ls -lh /opt/etcbak-*.tgz  //验证

每天早上7点30开启sshd服务,每天晚上22:30关闭sshd服务


#crontab -e

... ...

30 7 * * * /etc/init.d/sshd start

30 22 * * * /etc/init.d/sshd stop


3)删除计划任务

#crontab -r

#crontab -l


3.使用2台RHEL 5虚拟机,主要在主机A(1.1.1.1)上完成,主机B(1.1.1.2)仅  在测试远程提交日志时作为客户机


1)#ifconfig //查看各自的ip地址

#ping 1.1.1.1//在主机B上ping主机A,确定能ping通

#rpm -qi sysklogd//查寻服务是否安装

#service syslog status//查看syslog服务运行情况

2)搭建syslog日志服务器

#vim /etc/sysconfig/syslog//服务器配置

SYSLOGD_OPTIONS="-r -x -m 0"    //修改此行,添加 -r -x

#service syslog restart//重启syslog服务


3)修改客户机的日志记录配置

#vim /etc/syslog.conf//修改主机B(注意和服务器A修... ...改的不是同一个文件)

cron.*@1.1.1.1        //@发送到1.1.1.1

#service syslog restart//重启服务

4)测试日志消息的远程提交

#crontab -e//在客户机B上启用crond服务

1 * * * * echo"hello world">/tmp/test.txt //每分钟写入信息

#tail -f /var/log/cron//在服务器A上及时查看B生成的日志记录


4.日志的轮转



1)logrotate轮转

减小日志大小,降低分析难度

丢弃过期日志节省空间

结合cron每天执行

2)软件包

logrotate

3)主配置文件(daily, weekly, monthly, or yearly)

/etc/logrotate.conf

weekly  轮转频率,默认每周

rotate 4  保留4个轮转备份

create  执行轮转后创建新文件

#compress  是否压缩日志

include /etc/logrotate.d  包含此目录下的配置

/var/log/wtmp {  启用轮转的日志文件

monthly  每月轮转一次

missingok  丢失不提示

notifempty 如果为空则不轮转

minsize 1M  日志达到1MB才开始轮转

create 0664 root utmp  建新文件并设权限,root用户,utmp组

rotate 1       只保留一个备份

}



4)比如建一个admin的轮转

#vim /etc/logrotate.d/admin

/var/log/admin.log{//进行编辑

size 10M

daily

compress

rotate 3

create 0644 root root

}

 在/var/log/下新建一个admin.log文件

#logrotate -f /etc/logrotate.conf//强制执行


~                                                                     在/var/log/下查看会生成一个新的admin.log1.tgz文件





logrotate手工执行轮转

-v启动显示模式

-f强制rotate


/var/lib/logrotate.status










实验总结:

 crontab -e 编辑下的格式:

分 时 日 月 周命令

*    表示该范围内的任意时间

,    表示间隔的多个不连续时间点

-    表示一个连续的时间范围

/    指定间隔的时间频率


根据日志消息的严重程度不同,Linux内核定义了8个不同的日志级别(数值越小,优先级越高,消息越重要):


0 EMERG(紧急):会导致主机系统不可用的情况。

1 ALERT(警告):必须马上采取措施解决的问题。

2 CRIT(严重):比较严重的情况。

3 ERR(错误):运行出现错误。

4 WARNING(提醒):可能影响系统功能,需要提醒用户的重要事件。

5 NOTICE(注意):不会影响正常功能,但是需要注意的事件。

6 INFO(信息):一般信息。

7 DEBUG(调试):程序或系统调试信息等。



      本文转自Jx战壕  51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1365254,如需转载请自行联系原作者






相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
WGLOG日志管理系统是怎么收集日志的
WGLOG通过部署Agent客户端采集日志,Agent持续收集指定日志文件并上报Server,Server负责展示与分析。Agent与Server需保持相同版本。官网下载地址:www.wgstart.com
|
7月前
|
Prometheus 监控 Cloud Native
基于docker搭建监控系统&日志收集
Prometheus 是一款由 SoundCloud 开发的开源监控报警系统及时序数据库(TSDB),支持多维数据模型和灵活查询语言,适用于大规模集群监控。它通过 HTTP 拉取数据,支持服务发现、多种图表展示(如 Grafana),并可结合 Loki 实现日志聚合。本文介绍其架构、部署及与 Docker 集成的监控方案。
670 122
基于docker搭建监控系统&日志收集
|
10月前
|
监控 API 开发工具
HarmonyOS Next的HiLog日志系统完全指南:从入门到精通
本文深入解析HarmonyOS Next的HiLog日志系统,涵盖日志级别、核心API、隐私保护与高级回调功能,助你从入门到精通掌握这一重要开发工具。
|
7月前
|
Ubuntu
在Ubuntu系统上设置syslog日志轮替与大小限制
请注意,在修改任何系统级别配置之前,请务必备份相应得原始档案并理解每项变更可能带来得影响。
856 2
|
存储 前端开发 数据可视化
Grafana Loki,轻量级日志系统
本文介绍了基于Grafana、Loki和Alloy构建的轻量级日志系统。Loki是一个由Grafana Labs开发的日志聚合系统,具备高可用性和多租户支持,专注于日志而非指标,通过标签索引而非内容索引实现高效存储。Alloy则是用于收集和转发日志至Loki的强大工具。文章详细描述了系统的架构、组件及其工作流程,并提供了快速搭建指南,包括准备步骤、部署命令及验证方法。此外,还展示了如何使用Grafana查看日志,以及一些基本的LogQL查询示例。最后,作者探讨了Loki架构的独特之处,提出了“巨型单体模块化”的概念,即一个应用既可单体部署也可分布式部署,整体协同实现全部功能。
5200 69
Grafana Loki,轻量级日志系统
|
9月前
|
存储
WGLOG日志管理系统可以采集网络设备的日志吗
WGLOG日志审计系统提供开放接口,支持外部获取日志内容后发送至该接口,实现日志的存储与分析。详情请访问:https://www.wgstart.com/wglog/docs9.html
|
存储 消息中间件 缓存
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
基于阿里云SelectDB,MiniMax构建了覆盖国内及海外业务的日志可观测中台,总体数据规模超过数PB,日均新增日志写入量达数百TB。系统在P95分位查询场景下的响应时间小于3秒,峰值时刻实现了超过10GB/s的读写吞吐。通过存算分离、高压缩比算法和单副本热缓存等技术手段,MiniMax在优化性能的同时显著降低了建设成本,计算资源用量降低40%,热数据存储用量降低50%,为未来业务的高速发展和技术演进奠定了坚实基础。
580 1
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
|
存储 JSON Go
PHP 日志系统的最佳搭档:一个 Go 写的远程日志收集服务
为了不再 SSH 上去翻日志,我写了个 Go 小脚本,用来接收远程日志。PHP 负责记录日志,Go 负责存储和展示,按天存储、支持 API 访问、可远程管理,终于能第一时间知道项目炸了。
287 10
|
存储 监控 安全
5款 Syslog集中系统日志常用工具对比推荐
集中管理Syslog有助于持续监控网络中的恶意活动,确保日志的搜索和分析更为便捷。常用工具包括Rsyslog、Syslog-ng、Logstash和Fluentd,它们各有优劣。Rsyslog通过多种协议确保日志传输的安全性;Syslog-ng支持高效收集和转发日志;Logstash能解析多源日志并索引;Fluentd将日志转换为JSON格式。卓豪EventLog Analyzer则提供一体化的日志管理,支持日志分析、报表生成、用户行为分析及实时告警,是全面的日志管理解决方案。
414 0
|
存储 安全 Java
Spring Boot 3 集成Spring AOP实现系统日志记录
本文介绍了如何在Spring Boot 3中集成Spring AOP实现系统日志记录功能。通过定义`SysLog`注解和配置相应的AOP切面,可以在方法执行前后自动记录日志信息,包括操作的开始时间、结束时间、请求参数、返回结果、异常信息等,并将这些信息保存到数据库中。此外,还使用了`ThreadLocal`变量来存储每个线程独立的日志数据,确保线程安全。文中还展示了项目实战中的部分代码片段,以及基于Spring Boot 3 + Vue 3构建的快速开发框架的简介与内置功能列表。此框架结合了当前主流技术栈,提供了用户管理、权限控制、接口文档自动生成等多项实用特性。
1143 8