Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- draganddrop
- Unity IAP
- screencapture
- springboot
- server
- rpg server
- critical rendering path
- Digital Ocean
- css framework
- Unity Editor
- unity
- --watch
- Git
- SDK upgrade
- express
- mongoDB
- Spring Boot
- MySQL
- Packet Network
- Camera Zoom
- Camera Movement
- OverTheWire
- Google Refund
- nodejs
- docker
- react
- java
- linux
- Google Developer API
- spread 연산자
Archives
- Today
- Total
우당탕탕 개발일지
[방치RPG 서버 제작기] 9. 유니티 파일 서버로 전송하기 본문
뽑기를 하려면 확률표를 공유해야 한다. 작업편의상, 유니티 프로젝트에 확률표를 옮기면 서버로 옮기는 쉘스크립트를 작성했다.
유니티는 .meta파일이 함께있기때문에, csv파일만 전송하도록 했다.
csv파일이 삭제되는 경우도 있기때문에, 전송받은 파일을 압축해제 하기 전 , csv폴더자체를 삭제함으로써 100% 동기화한다.
#!/bin/bash
# === 설정 ===
PROJECT_ROOT=$(pwd)
SOURCE_DIR="$PROJECT_ROOT/Assets/04_CSVs"
TEMP_DIR="$PROJECT_ROOT/tmp_csv_upload"
ARCHIVE_NAME="csvs.tar.gz"
REMOTE_USER="ubuntu"
REMOTE_HOST="서버_IP" # 👉 여기에 실제 IP 입력
REMOTE_DIR="/root/danteRPG"
REMOTE_TARGET_DIR="$REMOTE_DIR/csvs"
# === 1. 로컬 임시 디렉토리 준비 ===
rm -rf "$TEMP_DIR"
mkdir -p "$TEMP_DIR"
# === 2. .csv 파일 수집 ===
echo "🔍 .csv 파일을 수집 중..."
cd "$SOURCE_DIR" || { echo "❌ SOURCE_DIR 진입 실패"; exit 1; }
CSV_FILES=$(find . -type f -iname "*.csv")
if [ -z "$CSV_FILES" ]; then
echo "⚠️ .csv 파일을 찾을 수 없음"
exit 1
fi
echo "📄 복사할 파일:"
echo "$CSV_FILES"
# === 3. 파일 복사 (디렉토리 유지, 공백 대응) ===
while IFS= read -r file; do
src="$SOURCE_DIR/$file"
dest="$TEMP_DIR/$file"
echo "➡️ $src → $dest"
mkdir -p "$(dirname "$dest")"
cp "$src" "$dest"
done <<< "$CSV_FILES"
# === 4. 압축 ===
cd "$TEMP_DIR" || exit 1
tar -czf "$PROJECT_ROOT/$ARCHIVE_NAME" .
# === 5. 서버로 전송 ===
echo "🚀 서버로 전송 중..."
scp "$PROJECT_ROOT/$ARCHIVE_NAME" $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/
# === 6. 서버에서 압축 해제 ===
echo "🧨 서버에서 기존 csvs 폴더 삭제 후 압축 해제 중..."
ssh $REMOTE_USER@$REMOTE_HOST <<EOF
rm -rf $REMOTE_TARGET_DIR
mkdir -p $REMOTE_TARGET_DIR
tar -xzf $REMOTE_DIR/$ARCHIVE_NAME -C $REMOTE_TARGET_DIR
rm -f $REMOTE_DIR/$ARCHIVE_NAME
echo "✅ 서버 처리 완료: $REMOTE_TARGET_DIR 재생성됨"
EOF
# === 7. 로컬 정리 ===
rm -rf "$TEMP_DIR"
rm -f "$PROJECT_ROOT/$ARCHIVE_NAME"
echo "🎉 모든 작업 성공적으로 완료!"
'Server > 방치RPG 서버' 카테고리의 다른 글
Docker 내의 db에 접속하기 ( DBeaver ) (0) | 2025.05.06 |
---|---|
[방치RPG 서버 제작기] 8. 서버배포 및 SSL 인증서발급하기 (1) | 2025.04.26 |
[방치RPG 서버 제작기] 7. backup API 구현하기 (0) | 2025.04.26 |
[방치RPG 서버 제작기] 6. 전송 암호화, DB테이블 구조 분리하기 (0) | 2025.04.25 |
[방치RPG 서버 제작기] 5. 액세스 토큰 + 리프레시 토큰 관리 및 갱신 (0) | 2025.04.23 |