From fe57dd33f487865efa67ed53003a12a6bbe8075d Mon Sep 17 00:00:00 2001 From: Wang Defa <2-wangdefa@users.noreply.gitlab.bcde.io> Date: Thu, 25 Dec 2025 15:45:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=A4=87=E4=BB=BD?= =?UTF-8?q?=E8=BF=87=E7=A8=8B=E7=9A=84=E8=AF=A6=E7=BB=86=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 改进内容: - 在文件夹备份时显示排除规则和文件大小 - 在合并备份时显示每个文件的路径和大小 - 添加 tar 合并命令的错误检查 - 改进日志输出,便于调试和追踪问题 这些日志将帮助用户: 1. 确认排除规则是否正确应用 2. 检查每个备份文件的大小 3. 快速定位备份失败的原因 --- bin/backup.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/bin/backup.sh b/bin/backup.sh index 067c32f..d4eba8c 100755 --- a/bin/backup.sh +++ b/bin/backup.sh @@ -208,8 +208,10 @@ backup_folders() { # 执行打包 log_info "开始打包文件夹..." + log_info "排除规则: ${exclude_args}" 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}" else log_error "文件夹备份失败" @@ -321,12 +323,18 @@ merge_backups() { local files_list="" if [[ -n "${folders_tar}" ]] && [[ -f "${folders_tar}" ]]; then files_list+=" ${folders_tar#${TEMP_DIR}/}" + log_info "添加到合并: ${folders_tar#${TEMP_DIR}/} ($(du -h "${folders_tar}" | cut -f1))" fi if [[ -n "${mysql_dump}" ]] && [[ -f "${mysql_dump}" ]]; then files_list+=" ${mysql_dump#${TEMP_DIR}/}" + log_info "添加到合并: ${mysql_dump#${TEMP_DIR}/} ($(du -h "${mysql_dump}" | cut -f1))" 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 local file_size=$(du -h "${final_backup}" | cut -f1)