【跟韩工学Ubuntu第8课】第8章 定时任务、资源监控与系统巡检-005篇
文章目录第8章 定时任务、资源监控与系统巡检8.1 定时任务基础理论要点实战技能8.2 实战1:crontab定时任务配置场景练习配置示例8.3 实战2:systemd定时器配置场景练习操作步骤8.4 实战3:基础监控工具使用工具速查表实战任务8.5 实战4:简单系统巡检手动巡检清单巡检脚本模板8.6 课后习题+实操任务一、选择题(每题2分,共20分)二、填空题(每空2分,共20分)三、简答题(每题5分,共20分)四、实操题(每题10分,共40分)附录:实验环境搭建指南1. 使用Docker快速创建实验环境2. 使用Vagrant创建虚拟机3. 在线实验平台教学建议课时安排(建议6课时)教学重点常见问题解决扩展学习资源考试模拟题一、实战操作题(60分)二、故障排查题(40分)学习路径建议初学者路径(2周)进阶路径(1个月)认证准备第8章 定时任务、资源监控与系统巡检8.1 定时任务基础理论要点Crontab格式:分 时 日 月 周 命令特殊字符:*(所有值)、,(多个值)、-(范围)、/(步长)Systemd定时器:.timer文件定义时间,.service文件定义任务定时任务类型:用户级(crontab -e)、系统级(/etc/crontab)、目录级(/etc/cron.d/)实战技能使用crontab -e创建、编辑任务使用systemctl管理定时器配置环境变量避免执行失败8.2 实战1:crontab定时任务配置场景练习场景1:备份脚本定时执行# 任务:每天凌晨2点备份/var/www/html目录# 备份脚本位置:/usr/local/bin/backup.sh# 要求:备份文件以日期命名,保留最近7天备份场景2:日志自动清理# 任务:每周日凌晨3点清理/var/log/app/目录# 要求:删除30天前的日志文件,清理后发送通知邮件配置示例# 编辑当前用户crontabcrontab-e# 添加以下内容02* * * /usr/local/bin/backup.sh03* *0/usr/local/bin/clean_logs.sh8.3 实战2:systemd定时器配置场景练习场景:监控服务状态# 创建nginx-watcher.service [Unit] Description=Nginx监控服务 After=network.target [Service] Type=oneshot ExecStart=/usr/local/bin/check_nginx.sh User=root # 创建nginx-watcher.timer [Unit] Description=每5分钟检查Nginx服务 Requires=nginx-watcher.service [Timer] OnBootSec=1min OnUnitActiveSec=5min [Install] WantedBy=timers.target操作步骤创建服务单元文件创建定时器单元文件重载systemd配置启用并启动定时器8.4 实战3:基础监控工具使用工具速查表工具主要功能常用选项htop交互式进程查看-u 用户名(过滤用户)free内存使用情况-h(人类可读)、-s 间隔(持续监控)df磁盘空间-h、-T(显示文件系统类型)iftop实时网络流量-i 接口、-P(显示端口)iostatCPU和磁盘IO-x(扩展统计)、-d 设备vmstat系统整体状态-s(统计摘要)、-d(磁盘统计)实战任务使用htop查看CPU占用最高的进程使用free -h查看内存使用,计算可用内存使用df -h找出使用率超过80%的分区使用iftop监控eth0网卡流量,找出流量最大的连接8.5 实战4:简单系统巡检手动巡检清单系统负载:uptime查看1、5、15分钟负载内存使用:free -h查看可用内存磁盘空间:df -h检查各分区使用率服务状态:systemctl status检查关键服务登录用户:who或last查看登录情况系统日志:tail -50 /var/log/syslog查看最新错误巡检脚本模板#!/bin/bash# system_check.shecho"========== 系统巡检报告$(date)=========="echo"主机名:$(hostname)"echo"运行时间:$(uptime-p)"echo"当前负载:$(cat/proc/loadavg)"# 内存检查echo-e"\n内存使用:"free-h|head-2# 磁盘检查echo-e"\n磁盘使用:"df-h|grep-vtmpfs8.6 课后习题+实操任务一、选择题(每题2分,共20分)Crontab时间表达式"0 2 * * 1-5"表示什么?A. 每天凌晨2点执行B. 工作日凌晨2点执行C. 每月1-5号凌晨2点执行D. 每周一凌晨2点执行以下哪个命令可以查看当前用户的crontab任务?A.crontab -rB.crontab -lC.