计划任务与系统日志管理

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

计划任务与系统日志管理


实验背景:


为了更好地了解和控制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,如需转载请自行联系原作者






相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
运维 安全 Linux
【揭秘】如何轻松掌控Linux系统命脉?——一场探索日志文件奥秘的旅程,带你洞悉系统背后的故事!
【8月更文挑战第21天】日志文件对Linux系统至关重要,记录着包括应用行为、组件状态和安全事件在内的系统活动,如同系统的“黑匣子”。掌握日志查看技巧是系统管理的基础技能,有助于快速诊断问题。常用命令包括`cat`、`tail`和`grep`等,可用于查看如`/var/log/messages`和`/var/log/auth.log`等系统日志文件,以及特定应用的日志。`journalctl`则用于查看systemd服务日志。此外,`logrotate`工具可管理日志文件的滚动和归档,确保系统高效运行。
48 4
|
3月前
|
存储 数据采集 数据处理
【Flume拓扑揭秘】掌握Flume的四大常用结构,构建强大的日志收集系统!
【8月更文挑战第24天】Apache Flume是一个强大的工具,专为大规模日志数据的收集、聚合及传输设计。其核心架构包括源(Source)、通道(Channel)与接收器(Sink)。Flume支持多样化的拓扑结构以适应不同需求,包括单层、扇入(Fan-in)、扇出(Fan-out)及复杂多层拓扑。单层拓扑简单直观,适用于单一数据流场景;扇入结构集中处理多源头数据;扇出结构则实现数据多目的地分发;复杂多层拓扑提供高度灵活性,适合多层次数据处理。通过灵活配置,Flume能够高效构建各种规模的数据收集系统。
76 0
|
20天前
|
存储 Linux Docker
centos系统清理docker日志文件
通过以上方法,可以有效清理和管理CentOS系统中的Docker日志文件,防止日志文件占用过多磁盘空间。选择合适的方法取决于具体的应用场景和需求,可以结合手动清理、logrotate和调整日志驱动等多种方式,确保系统的高效运行。
20 2
|
1月前
|
XML JSON 监控
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
48 1
|
1月前
|
监控 网络协议 安全
Linux系统日志管理
Linux系统日志管理
46 3
|
1月前
|
监控 应用服务中间件 网络安全
#637481#基于django和neo4j的日志分析系统
#637481#基于django和neo4j的日志分析系统
35 4
|
3月前
|
存储 消息中间件 人工智能
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
早期 MiniMax 基于 Grafana Loki 构建了日志系统,在资源消耗、写入性能及系统稳定性上都面临巨大的挑战。为此 MiniMax 开始寻找全新的日志系统方案,并基于阿里云数据库 SelectDB 版内核 Apache Doris 升级了日志系统,新系统已接入 MiniMax 内部所有业务线日志数据,数据规模为 PB 级, 整体可用性达到 99.9% 以上,10 亿级日志数据的检索速度可实现秒级响应。
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
|
3月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
131 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
58 0
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
41 0
下一篇
无影云桌面