feat: 添加备份过程的详细日志

改进内容:
- 在文件夹备份时显示排除规则和文件大小
- 在合并备份时显示每个文件的路径和大小
- 添加 tar 合并命令的错误检查
- 改进日志输出,便于调试和追踪问题

这些日志将帮助用户:
1. 确认排除规则是否正确应用
2. 检查每个备份文件的大小
3. 快速定位备份失败的原因
This commit is contained in:
Wang Defa
2025-12-25 15:45:11 +08:00
parent 8d558201a0
commit fe57dd33f4

View File

@@ -208,8 +208,10 @@ backup_folders() {
# 执行打包 # 执行打包
log_info "开始打包文件夹..." log_info "开始打包文件夹..."
log_info "排除规则: ${exclude_args}"
if eval "tar -czf '${folders_tar}' ${exclude_args} ${tar_sources}" 2>&1; then if eval "tar -czf '${folders_tar}' ${exclude_args} ${tar_sources}" 2>&1; then
log_info "文件夹备份完成: ${folders_tar}" local tar_size=$(du -h "${folders_tar}" | cut -f1)
log_info "文件夹备份完成: ${folders_tar} (大小: ${tar_size})"
echo "${folders_tar}" echo "${folders_tar}"
else else
log_error "文件夹备份失败" log_error "文件夹备份失败"
@@ -321,12 +323,18 @@ merge_backups() {
local files_list="" local files_list=""
if [[ -n "${folders_tar}" ]] && [[ -f "${folders_tar}" ]]; then if [[ -n "${folders_tar}" ]] && [[ -f "${folders_tar}" ]]; then
files_list+=" ${folders_tar#${TEMP_DIR}/}" files_list+=" ${folders_tar#${TEMP_DIR}/}"
log_info "添加到合并: ${folders_tar#${TEMP_DIR}/} ($(du -h "${folders_tar}" | cut -f1))"
fi fi
if [[ -n "${mysql_dump}" ]] && [[ -f "${mysql_dump}" ]]; then if [[ -n "${mysql_dump}" ]] && [[ -f "${mysql_dump}" ]]; then
files_list+=" ${mysql_dump#${TEMP_DIR}/}" files_list+=" ${mysql_dump#${TEMP_DIR}/}"
log_info "添加到合并: ${mysql_dump#${TEMP_DIR}/} ($(du -h "${mysql_dump}" | cut -f1))"
fi fi
tar -czf "${final_backup}" -C "${TEMP_DIR}" ${files_list} log_info "执行合并打包..."
if ! tar -czf "${final_backup}" -C "${TEMP_DIR}" ${files_list} 2>&1; then
log_error "tar 合并命令执行失败"
return 1
fi
if [[ -f "${final_backup}" ]]; then if [[ -f "${final_backup}" ]]; then
local file_size=$(du -h "${final_backup}" | cut -f1) local file_size=$(du -h "${final_backup}" | cut -f1)