From e35b167b63f7399b166221c3b95cdfefe4fcc41f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B6=8C=ED=98=81=EC=84=B1?= Date: Tue, 3 Feb 2026 10:32:56 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20mysqldump=20=EB=B9=84=EB=B0=80=EB=B2=88?= =?UTF-8?q?=ED=98=B8=20=EA=B2=BD=EA=B3=A0=20=EC=A0=9C=EA=B1=B0=20(defaults?= =?UTF-8?q?-extra-file=20=EB=B0=A9=EC=8B=9D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 커맨드라인 --user/--password → 임시 .my.cnf 파일 방식으로 변경 - mysqldump 실행 전 임시 파일 생성, 완료 후 삭제 - "Using a password on the command line interface" 경고 해소 Co-Authored-By: Claude Opus 4.5 --- scripts/backup/sam-db-backup.sh | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/scripts/backup/sam-db-backup.sh b/scripts/backup/sam-db-backup.sh index 893e2de..e2b7c3b 100755 --- a/scripts/backup/sam-db-backup.sh +++ b/scripts/backup/sam-db-backup.sh @@ -47,23 +47,37 @@ ensure_dirs() { mkdir -p "$DAILY_DIR" "$WEEKLY_DIR" "$LOG_DIR" } +create_mycnf() { + local tmp_cnf + tmp_cnf=$(mktemp /tmp/.my.cnf.XXXXXX) + chmod 600 "$tmp_cnf" + cat > "$tmp_cnf" <>"$LOG_FILE" | gzip > "$output_file"; then + rm -f "$mycnf" local file_size file_size=$(stat -f%z "$output_file" 2>/dev/null || stat -c%s "$output_file" 2>/dev/null || echo 0) @@ -91,6 +105,7 @@ backup_database() { return 0 else + rm -f "$mycnf" log "ERROR" "mysqldump 실패: ${db_name}" ERRORS+=("${db_name}: mysqldump 실패") DB_RESULTS+=("{\"db\":\"${db_name}\",\"file\":\"\",\"size_bytes\":0,\"status\":\"dump_error\"}")