Claude Code 세션 데이터 손실: 윈도우 및 맥용 백업 스크립트

✍️ OpenClawRadar📅 게시일: June 7, 2026🔗 Source
Claude Code 세션 데이터 손실: 윈도우 및 맥용 백업 스크립트
Ad

r/ClaudeAI의 여러 사용자가 Claude Code가 세션 데이터를 조용히 손실한다고 보고합니다. 세션 제목은 사이드바에 남아 있지만 클릭하면 빈 기록이 나타납니다. 경고, 오류, 복구 없이 말이죠. 이는 컨텍스트 압축, 예기치 않은 종료 또는 스토리지 계층 문제 중에 발생하는 것으로 보입니다.

Ad

백업 솔루션

커뮤니티에서 작성한 스크립트는 ~/.claude에서 모든 Claude Code 데이터(sessions, projects, plans, drafts, memory)를 별도 폴더로 백업하며, Windows의 작업 스케줄러나 Mac의 launchd를 통해 매일 실행되고 7일간의 롤링 백업을 유지합니다.

Windows (PowerShell + 작업 스케줄러)

백업 폴더를 생성합니다:

mkdir C:\Users\%USERNAME%\ClaudeBackups

다음을 해당 폴더에 backup-claude-sessions.ps1로 저장합니다:

$ErrorActionPreference = "Stop"
$source = "$env:USERPROFILE\.claude"
$backupRoot = "$env:USERPROFILE\ClaudeBackups"
$logFile = Join-Path $backupRoot "backup.log"
$keepDays = 7
$timestamp = Get-Date -Format "yyyy-MM-dd_HHmmss"
$backupDir = Join-Path $backupRoot $timestamp
$dirs = @("sessions", "projects", "plans", "drafts", "memory")

function Write-Log($msg) { $line = "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - $msg" Add-Content -Path $logFile -Value $line -Encoding utf8 }

try { Write-Log "=== Backup started ===" New-Item -ItemType Directory -Path $backupDir -Force | Out-Null foreach ($d in $dirs) { $src = Join-Path $source $d if (Test-Path $src) { $dst = Join-Path $backupDir $d Copy-Item -Path $src -Destination $dst -Recurse -Force $count = (Get-ChildItem $dst -Recurse -File -ErrorAction SilentlyContinue | Measure-Object).Count Write-Log " Copied $d ($count files)" } else { Write-Log " Skipped $d (not found)" } } $size = (Get-ChildItem $backupDir -Recurse -File | Measure-Object -Property Length -Sum).Sum Write-Log " Total backup size: $([math]::Round($size/1MB, 2)) MB" $cutoff = (Get-Date).AddDays(-$keepDays) Get-ChildItem $backupRoot -Directory | Where-Object { $.Name -match '^\d{4}-\d{2}-\d{2}\d{6}$' -and $.CreationTime -lt $cutoff } | ForEach-Object { Remove-Item $.FullName -Recurse -Force -Confirm:$false Write-Log " Rotated old backup: $($.Name)" } Write-Log "=== Backup completed successfully ===" } catch { Write-Log "!!! BACKUP FAILED: $" exit 1 }

install-schedule.ps1을 만들고 관리자 권한으로 한 번 실행합니다:

$action = New-ScheduledTaskAction     -Execute "powershell.exe"
    -Argument "-ExecutionPolicy Bypass -WindowStyle Hidden -File "$env:USERPROFILE\ClaudeBackups\backup-claude-sessions.ps1""
$trigger = New-ScheduledTaskTrigger -Daily -At 8:00AM
$settings = New-ScheduledTaskSettingsSet     -AllowStartIfOnBatteries
    -DontStopIfGoingOnBatteries     -StartWhenAvailable Register-ScheduledTask
    -TaskName "ClaudeSessionsBackup"     -Action $action
    -Trigger $trigger     -Settings $settings
    -Description "Daily backup of Claude Code sessions" `
    -RunLevel Limited
Write-Host "Done! Runs daily at 8:00 AM." -ForegroundColor Green

설치 프로그램을 실행합니다:

powershell -ExecutionPolicy Bypass -File "C:\Users%USERNAME%\ClaudeBackups\install-schedule.ps1"

Mac (launchd + 셸 스크립트)

백업 폴더를 생성합니다:

mkdir -p /ClaudeBackups

/ClaudeBackups/backup-claude-sessions.sh로 저장합니다:

#!/bin/bash
set -euo pipefail
SOURCE="$HOME/.claude"
BACKUP_ROOT="$HOME/ClaudeBackups"
LOG_FILE="$BACKUP_ROOT/backup.log"
KEEP_DAYS=7
TIMESTAMP=$(date +"%Y-%m-%d_%H%M%S")
BACKUP_DIR="$BACKUP_ROOT/$TIMESTAMP"
DIRS=("sessions" "projects" "plans" "drafts" "memory")
log() { echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> "$LOG_FILE"; }
log "=== Backup started ==="
mkdir -p "$BACKUP_DIR"
for d in "${DIRS[@]}"; do
    src="$SOURCE/$d"
    if [ -d "$src" ]; then
        cp -R "$src" "$BACKUP_DIR/$d"
        count=$(find "$BACKUP_DIR/$d" -type f | wc -l | tr -d ' ')
        log " Copied $d ($count files)"
    else
        log " Skipped $d (not found)"
    fi
done
size=$(du -sb "$BACKUP_DIR" | cut -f1)
log " Total backup size: $(echo "scale=2; $size/1048576" | bc) MB"
find "$BACKUP_ROOT" -maxdepth 1 -type d -name "????-??-??_??????" -mtime +$KEEP_DAYS -exec rm -rf {} + -exec log " Rotated old backup: {}" ;
log "=== Backup completed successfully ==="

실행 권한을 부여하고 launchd를 통해 스케줄링합니다 (plist 설정은 원본 게시물 참조).

이 스크립트는 Claude Code와 완전히 독립적으로 실행되므로 Claude가 충돌하거나 데이터가 손실되어도 백업이 보존됩니다. 각 실행 결과는 backup.log에 기록되어 확인할 수 있습니다.

📖 전체 출처: r/ClaudeAI

Ad

👀 See Also

MCP 서버는 LLM 추천을 개선하기 위해 개발 도구의 알려진 버그를 추적합니다
Tools

MCP 서버는 LLM 추천을 개선하기 위해 개발 도구의 알려진 버그를 추적합니다

nanmesh-mcp는 GitHub Issues, Stack Overflow, Reddit을 크롤링하여 57개 개발 도구의 실제 문제를 추적하는 MCP 서버로, LLM이 라이브러리 추천 전에 최신 버그 데이터를 제공합니다.

OpenClawRadar
OpenClaw Alexa Voice Proxy는 양방향 음성 상호작용을 가능하게 합니다.
Tools

OpenClaw Alexa Voice Proxy는 양방향 음성 상호작용을 가능하게 합니다.

openclaw-alexa-voice는 Alexa Custom Skill을 OpenClaw 게이트웨이에 연결하는 Node.js 프록시로, 음성 쿼리를 위한 3단계 응답 시스템을 구현합니다. 1초 미만의 빠른 응답, 12초 미만의 에이전트 응답, 2분 이내에 비동기적으로 처리되는 지연된 복잡한 쿼리를 처리합니다.

OpenClawRadar
ClawDeckX: 오픈소스 macOS 스타일 웹 플랫폼으로 OpenClaw 에이전트 관리
Tools

ClawDeckX: 오픈소스 macOS 스타일 웹 플랫폼으로 OpenClaw 에이전트 관리

ClawDeckX는 OpenClaw 에이전트를 설치, 구성 및 모니터링하기 위한 오픈소스 웹 플랫폼입니다. 시각적 관리 도구, 실시간 모니터링을 제공하며 13개 언어를 지원합니다.

OpenClawRadar
구조화된 클로드 스킬을 활용한 B2B SaaS 성장 워크플로우
Tools

구조화된 클로드 스킬을 활용한 B2B SaaS 성장 워크플로우

한 개발자가 클로드의 출력 품질을 향상시키기 위해 B2B SaaS 성장 지식을 플레이북과 사례 연구로 구조화한 클로드 스킬을 오픈소스로 공개했습니다. 이 저장소에는 5개의 SaaS 사례 연구, 4단계 성장 플라이휠, 그리고 6개의 구조화된 플레이북이 포함되어 있습니다.

OpenClawRadar