44 lines
1.4 KiB
Bash
Executable File
44 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# ============================================
|
|
# 주간 축제/펜션 데이터 동기화 스크립트
|
|
# 매주 일요일 새벽 3시 실행 (cron)
|
|
# ============================================
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
SERVER_DIR="$(dirname "$SCRIPT_DIR")"
|
|
LOG_DIR="$SERVER_DIR/logs"
|
|
LOG_FILE="$LOG_DIR/sync_$(date +%Y%m%d_%H%M%S).log"
|
|
|
|
# 로그 디렉토리 생성
|
|
mkdir -p "$LOG_DIR"
|
|
|
|
echo "============================================" >> "$LOG_FILE"
|
|
echo "동기화 시작: $(date)" >> "$LOG_FILE"
|
|
echo "============================================" >> "$LOG_FILE"
|
|
|
|
# Node.js 경로 (nvm 사용 시)
|
|
export NVM_DIR="$HOME/.nvm"
|
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
|
|
|
cd "$SERVER_DIR"
|
|
|
|
# 축제 동기화 (2년치)
|
|
echo "" >> "$LOG_FILE"
|
|
echo "[축제 동기화]" >> "$LOG_FILE"
|
|
node scripts/syncData.js festivals --endDate=$(date -d "+2 years" +%Y%m%d) >> "$LOG_FILE" 2>&1
|
|
|
|
# 펜션 동기화
|
|
echo "" >> "$LOG_FILE"
|
|
echo "[펜션 동기화]" >> "$LOG_FILE"
|
|
node scripts/syncData.js pensions >> "$LOG_FILE" 2>&1
|
|
|
|
echo "" >> "$LOG_FILE"
|
|
echo "============================================" >> "$LOG_FILE"
|
|
echo "동기화 완료: $(date)" >> "$LOG_FILE"
|
|
echo "============================================" >> "$LOG_FILE"
|
|
|
|
# 오래된 로그 삭제 (30일 이상)
|
|
find "$LOG_DIR" -name "sync_*.log" -mtime +30 -delete
|
|
|
|
echo "Weekly sync completed. Log: $LOG_FILE"
|