CASTAD-v0.1/server/scripts/weeklySync.sh

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"