Compare commits
3 Commits
4d00283654
...
fe57dd33f4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fe57dd33f4 | ||
|
|
8d558201a0 | ||
|
|
1ea8d681ee |
@@ -33,7 +33,8 @@ log() {
|
||||
local message="$@"
|
||||
local timestamp=$(date '+%Y-%m-%d %H:%M:%S')
|
||||
|
||||
echo -e "[${timestamp}] [${level}] ${message}"
|
||||
# 输出到 stderr,避免干扰函数返回值
|
||||
echo -e "[${timestamp}] [${level}] ${message}" >&2
|
||||
|
||||
# 如果配置了日志文件,同时写入文件
|
||||
if [[ -n "${LOG_FILE}" ]] && [[ "${LOGGING_ENABLED}" == "true" ]]; then
|
||||
@@ -207,12 +208,10 @@ backup_folders() {
|
||||
|
||||
# 执行打包
|
||||
log_info "开始打包文件夹..."
|
||||
eval "tar -czf '${folders_tar}' ${exclude_args} ${tar_sources}" 2>&1 | while read line; do
|
||||
log_info "$line"
|
||||
done
|
||||
|
||||
if [[ -f "${folders_tar}" ]]; then
|
||||
log_info "文件夹备份完成: ${folders_tar}"
|
||||
log_info "排除规则: ${exclude_args}"
|
||||
if eval "tar -czf '${folders_tar}' ${exclude_args} ${tar_sources}" 2>&1; then
|
||||
local tar_size=$(du -h "${folders_tar}" | cut -f1)
|
||||
log_info "文件夹备份完成: ${folders_tar} (大小: ${tar_size})"
|
||||
echo "${folders_tar}"
|
||||
else
|
||||
log_error "文件夹备份失败"
|
||||
@@ -320,9 +319,22 @@ merge_backups() {
|
||||
fi
|
||||
|
||||
# 合并打包
|
||||
tar -czf "${final_backup}" -C "${TEMP_DIR}" \
|
||||
$(basename "${folders_tar}" 2>/dev/null || true) \
|
||||
$(basename "${mysql_dump}" 2>/dev/null || true)
|
||||
# 构建相对于 TEMP_DIR 的路径列表
|
||||
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
|
||||
|
||||
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)
|
||||
|
||||
@@ -25,15 +25,15 @@ NC='\033[0m'
|
||||
###############################################################################
|
||||
|
||||
log_info() {
|
||||
echo -e "${GREEN}[INFO]${NC} $@"
|
||||
echo -e "${GREEN}[INFO]${NC} $@" >&2
|
||||
}
|
||||
|
||||
log_warn() {
|
||||
echo -e "${YELLOW}[WARN]${NC} $@"
|
||||
echo -e "${YELLOW}[WARN]${NC} $@" >&2
|
||||
}
|
||||
|
||||
log_error() {
|
||||
echo -e "${RED}[ERROR]${NC} $@"
|
||||
echo -e "${RED}[ERROR]${NC} $@" >&2
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Reference in New Issue
Block a user