Hollow Knight: Silksong
Save Directory
- Linux
-
~/.config/unity3d/Team Cherry/Hollow Knight Silksong/189523970/
세이브 파일 백업
#!/bin/bash
# Hollow Knight Silksong 세이브 파일 경로
SAVE_PATH="$HOME/.config/unity3d/Team Cherry/Hollow Knight Silksong/189523970"
# 현재 날짜와 시간을 YYYY-MM-DD_HH-MM-SS 형식으로 가져오기
DATETIME=$(date +"%Y-%m-%d_%H-%M-%S")
# 압축 파일명 설정 (홈 디렉토리에 저장)
ARCHIVE_NAME="$SAVE_PATH/silksong_user2_backup_${DATETIME}.tar.gz"
# 세이브 디렉토리로 이동
cd "$SAVE_PATH" || {
echo "✗ 세이브 디렉토리를 찾을 수 없습니다: $SAVE_PATH"
exit 1
}
echo "세이브 경로: $SAVE_PATH"
echo ""
# user2로 시작하는 파일들과 Restore_Points2 폴더 확인
echo "압축할 파일 및 폴더 목록:"
if [ -d "Restore_Points2" ]; then
echo "- Restore_Points2/"
else
echo "- Restore_Points2/ (디렉토리 없음)"
fi
ls -la user2* 2>/dev/null | while read line; do
echo "- $(echo "$line" | awk '{print $9}')"
done
echo ""
echo "압축 파일명: $ARCHIVE_NAME"
echo ""
# tar.gz 압축 실행
echo "압축 중..."
tar -czf "$ARCHIVE_NAME" Restore_Points2/ user2* 2>/dev/null
# 압축 결과 확인
if [ $? -eq 0 ]; then
echo "✓ 압축 완료: $ARCHIVE_NAME"
echo "파일 크기: $(ls -lh "$ARCHIVE_NAME" | awk '{print $5}')"
else
echo "✗ 압축 실패"
exit 1
fi
최신 세이브 파일 복원
#!/bin/bash
# Hollow Knight Silksong 세이브 파일 경로
SAVE_PATH="$HOME/.config/unity3d/Team Cherry/Hollow Knight Silksong/189523970"
# 세이브 디렉토리로 이동
# Change to save directory
cd "$SAVE_PATH" || {
echo "✗ 세이브 디렉토리를 찾을 수 없습니다: $SAVE_PATH"
echo "✗ Save directory not found: $SAVE_PATH"
exit 1
}
echo "세이브 경로: $SAVE_PATH"
echo "Save path: $SAVE_PATH"
echo ""
# 백업 파일 찾기
# Find backup files
BACKUP_FILES=($(ls -t silksong_user2_backup_*.tar.gz 2>/dev/null))
# 백업 파일이 없는 경우
# If no backup files found
if [ ${#BACKUP_FILES[@]} -eq 0 ]; then
echo "✗ 백업 파일을 찾을 수 없습니다."
echo "✗ No backup files found."
exit 1
fi
# 최신 백업 파일 (첫 번째 파일)
# Latest backup file (first file)
LATEST_BACKUP="${BACKUP_FILES[0]}"
echo "발견된 백업 파일 목록 (최신순):"
echo "Found backup files (newest first):"
for i in "${!BACKUP_FILES[@]}"; do
FILE="${BACKUP_FILES[$i]}"
SIZE=$(ls -lh "$FILE" | awk '{print $5}')
DATE=$(stat -c %y "$FILE" 2>/dev/null || stat -f "%Sm" "$FILE" 2>/dev/null)
if [ $i -eq 0 ]; then
echo "→ [최신/Latest] $FILE ($SIZE) - $DATE"
else
echo " [$((i+1))] $FILE ($SIZE) - $DATE"
fi
done
echo ""
# 최신 백업 파일 정보 출력
# Display latest backup file info
echo "복원할 파일: $LATEST_BACKUP"
echo "File to restore: $LATEST_BACKUP"
echo "파일 크기: $(ls -lh "$LATEST_BACKUP" | awk '{print $5}')"
echo "File size: $(ls -lh "$LATEST_BACKUP" | awk '{print $5}')"
echo ""
# 압축 내용 미리보기
# Preview archive contents
echo "압축 파일 내용:"
echo "Archive contents:"
tar -tzf "$LATEST_BACKUP" 2>/dev/null | head -n 20
echo ""
# 사용자 확인
# User confirmation
read -p "이 백업을 복원하시겠습니까? (y/n): " -n 1 -r
echo ""
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo "복원이 취소되었습니다."
echo "Restoration cancelled."
exit 0
fi
# # 기존 파일 백업 (안전장치)
# # Backup existing files (safety measure)
# echo "기존 파일을 임시 백업 중..."
# echo "Creating temporary backup of existing files..."
# TEMP_BACKUP="temp_before_restore_$(date +"%Y%m%d_%H%M%S").tar.gz"
# tar -czf "$TEMP_BACKUP" Restore_Points2/ user2* 2>/dev/null
# if [ $? -eq 0 ]; then
# echo "✓ 임시 백업 완료: $TEMP_BACKUP"
# echo "✓ Temporary backup created: $TEMP_BACKUP"
# else
# echo "⚠ 임시 백업 실패 (계속 진행)"
# echo "⚠ Temporary backup failed (continuing anyway)"
# fi
# echo ""
# 기존 파일 삭제
# Delete existing files
echo "기존 세이브 파일 삭제 중..."
echo "Removing existing save files..."
rm -rf Restore_Points2/
rm -f user2*
echo "✓ 기존 파일 삭제 완료"
echo "✓ Existing files removed"
echo ""
# 압축 해제
# Extract archive
echo "백업 복원 중..."
echo "Restoring backup..."
tar -xzf "$LATEST_BACKUP"
# 복원 결과 확인
# Check restoration result
if [ $? -eq 0 ]; then
echo ""
echo "✓ 복원 완료!"
echo "✓ Restoration complete!"
echo ""
echo "복원된 파일 목록:"
echo "Restored files:"
if [ -d "Restore_Points2" ]; then
echo "- Restore_Points2/"
fi
ls -lh user2* 2>/dev/null | while read line; do
echo "- $(echo "$line" | awk '{print $9, $5}')"
done
echo ""
echo "임시 백업 파일: $TEMP_BACKUP"
echo "Temporary backup: $TEMP_BACKUP"
echo "(문제가 없다면 나중에 삭제하세요)"
echo "(You can delete this later if everything works fine)"
else
echo ""
echo "✗ 복원 실패!"
echo "✗ Restoration failed!"
echo ""
# if [ -f "$TEMP_BACKUP" ]; then
# echo "임시 백업에서 롤백 중..."
# echo "Rolling back from temporary backup..."
# tar -xzf "$TEMP_BACKUP"
# echo "✓ 롤백 완료"
# echo "✓ Rollback complete"
# fi
exit 1
fi
See also
Favorite site