ToolkitX
知识库工具箱

实战脚本示例

备份脚本、监控脚本、部署脚本

30min·进阶

01. 自动备份脚本

一个完整的备份脚本示例,包含日志、错误处理、日期归档等功能。
bash
#!/bin/bash
set -euo pipefail

BACKUP_DIR="/backup"
SOURCE_DIR="/data"
DATE=$(date +%Y%m%d_%H%M%S)
LOG_FILE="/var/log/backup.log"

log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*" | tee -a "$LOG_FILE"
}

log "开始备份..."
mkdir -p "$BACKUP_DIR"

if tar -czf "$BACKUP_DIR/backup_$DATE.tar.gz" -C "$SOURCE_DIR" .; then
log "备份成功"
else
log "备份失败!"
exit 1
fi

# 清理旧备份
find "$BACKUP_DIR" -name "backup_*.tar.gz" -mtime +7 -delete
log "备份完成"

知识测验

1/4正确 0

备份脚本中 tar -czf 的各参数含义是什么?