银河麒麟OS可通过systemd timer实现无人值守自动巡检,包含健康检查、磁盘预警、服务扫描与日志识别;需创建daily-check.sh脚本并配置systemd timer,避免使用crond,适配V10 SP2+版本。

银河麒麟OS需在无人值守前提下每日自动完成系统健康检查、磁盘空间预警、服务状态扫描与日志异常识别,避免人工逐台登录、手动执行命令、汇总截图留痕等重复劳动。
用systemd timer部署轻量级巡检任务
该方式不依赖crond,由systemd原生调度,启动快、依赖少、日志统一归集至journalctl,适合V10 SP2及以上版本。
第一步:创建巡检脚本 /opt/bin/daily-check.sh
第二步:向脚本写入以下内容(注意替换邮箱为管理员真实地址):
#!/bin/bash
echo "$(date): 开始日常巡检" >> /var/log/daily-check.log
df -h | grep -E "(sda|nvme|/)$" | awk '$5 > 85 {print "警告:"$1" 使用率 "$5}' >> /var/log/daily-check.log
systemctl list-units --state=failed --type=service --no-pager | grep ".service" >> /var/log/daily-check.log
journalctl -n 50 --since "1 hour ago" | grep -i "error\|fail\|denied" >> /var/log/daily-check.log
if [ $(grep -c "警告" /var/log/daily-check.log) -gt 0 ]; then
mail -s "【麒麟巡检告警】$(hostname)" admin@company.com fi
第三步:赋予执行权限:sudo chmod +x /opt/bin/daily-check.sh
第四步:创建定时器单元文件 /etc/systemd/system/daily-check.timer
[Unit]
Description=每日系统健康巡检
[Timer]
OnCalendar=*-*-* 03:15:00
Persistent=true
[Install]
WantedBy=timers.target
第五步:创建对应服务单元 /etc/systemd/system/daily-check.service
[Unit]
Description=执行日常巡检脚本
[Service]
Type=oneshot
ExecStart=/opt/bin/daily-check.sh
StandardOutput=journal
StandardError=journal
User=root
第六步:启用并启动定时器:sudo systemctl daemon-reload → sudo systemctl enable --now daily-check.timer
第七步:验证是否注册成功:sudo systemctl list-timers | grep daily-check
用Marvis AI管家一键配置智能巡检
银河麒麟软件商店已上架原生适配的Marvis(马维斯)AI管家,支持语音或文本指令直接生成并部署巡检任务,无需手写脚本、无需记忆语法。
方法一:图形界面快速启用
点击「开始菜单」→「软件商店」→搜索“Marvis”→点击安装→安装完成后启动Marvis主程序。
方法二:自然语言下发任务
在Marvis输入框中输入:“每天凌晨3点15分检查磁盘使用率、服务失败项和最近1小时系统错误日志,超85%时发邮件给我”,Marvis将自动解析意图、生成脚本、配置systemd timer并启用。
方法三:手机端远程触发校验
打开Marvis手机App,连接已授权电脑,在「巡检记录」页点击任意历史条目右侧的「重跑」图标,即可立即执行一次手动巡检并返回结果快照——这一步操作起来很简单,直接点图标就行。
用cron+自定义脚本实现带截图的可视化巡检
适用于需向审计部门提交带时间戳与界面证据的巡检报告场景,脚本会自动调用gnome-screenshot截取桌面快照并压缩归档。
1. 安装截图工具:sudo apt install gnome-screenshot
2. 创建脚本 /home/$USER/scripts/visual-check.sh:
#!/bin/bash
DAY=$(date +%Y%m%d)
mkdir -p /home/$USER/reports/visual/$DAY
gnome-screenshot -f /home/$USER/reports/visual/$DAY/desktop.png
df -h > /home/$USER/reports/visual/$DAY/df.txt
systemctl list-units --state=failed > /home/$USER/reports/visual/$DAY/failed-services.txt
tar -czf /home/$USER/reports/visual/${DAY}_report.tar.gz -C /home/$USER/reports/visual/$DAY .
rm -rf /home/$USER/reports/visual/$DAY
3. 编辑当前用户crontab:crontab -e
4. 添加行:0 3 * * * /home/$USER/scripts/visual-check.sh 2>/dev/null
5. 确保脚本可执行:chmod +x /home/$USER/scripts/visual-check.sh
【必须确保当前用户有图形会话权限,否则gnome-screenshot会因无法连接到X11而静默失败】

















