ANALYSIS
创建备份脚本 backup_logs.sh
PRTCL // BASH
#!/bin/bash
# 配置:日志保存目录(可按需修改)LOG_DIR="$HOME/logs"DATE=$(date +%Y%m%d_%H%M%S)
# 创建日志目录(若不存在)——确保目标路径可用mkdir -p "$LOG_DIR"
# 备份常见系统日志 ( 根据实际情况修改 )——文件名后方添加 Date 时间戳# 若需外带脚本,将 cp 替换为 scp 进行外带拷贝即可cp /var/log/syslog "$LOG_DIR/syslog_$DATE.log" 2>/dev/nullcp /var/log/auth.log "$LOG_DIR/auth_$DATE.log" 2>/dev/null
# 若系统使用 systemd,导出当日 journal 日志journalctl --since today > "$LOG_DIR/journal_$DATE.log" 2>/dev/null
# 可选:自动删除 7 天前的备份日志——防止磁盘被旧日志占满find "$LOG_DIR" -name "*.log" -mtime +7 -delete作用:
该脚本在执行时会:
- 生成带时间戳的日志文件名;
- 将指定系统日志复制到用户家目录下的
~/logs; - 可选清理超过 7 天的历史备份,避免无限增长。
设置定时任务(crontab)
PRTCL // BASH
# 添加到用户 crontab(替换 YOUR_USERNAME 为实际用户名)0 3 * * * /home/YOUR_USERNAME/scripts/backup_logs.sh >> /home/YOUR_USERNAME/logs/cron.log 2>&1作用:
0 3 * * *表示每天凌晨 3:00 执行;- 调用上述脚本;
- 将脚本的标准输出和错误追加写入
cron.log,便于排查问题; - 注意:crontab 不识别
~,必须使用绝对路径。
赋予脚本执行权限(执行一次即可)
PRTCL // SH
chmod +x ~/scripts/backup_logs.shR P
Rhine Lab Pioneer Division
Auth_Verified: 2026.04.06
Auth_Verified: 2026.04.06
