< “구형 스마트폰 안 쓰는 스마트폰 서버의 데이터 백업 자동화 구축기
본문 바로가기

“구형 스마트폰 안 쓰는 스마트폰 서버의 데이터 백업 자동화 구축기

📑 목차

    “구형 스마트폰 안 쓰는 스마트폰 서버의 데이터 백업 자동화 구축기 — Termux/rsync/Syncthing/rclone 조합으로 로컬 우선 + 외부 이중 백업 설계, 스크립트 예시·crontab 설정·복구 테스트·보안 운영 팁 제공.”

    왜 자동 백업인가 — 리스크와 목표 설정

    출처:pixabay

    구형 스마트폰 안 쓰는 스마트폰을 서버로 운영하면 가장 두려운 순간은 ‘데이터가 사라질 때’다.
    중고 기기 고장, 저장장치 손상, 앱 오류, 혹은 설정 실수 한 번으로 수년간 쌓아둔 기록이 날아갈 수 있다.


    따라서 자동 백업 구축의 첫 단계는 목표 정의다. 복구 가능한 주기(예: 실시간/시간별/일간), 보관 기간(7일/30일/영구), 저장 위치(로컬 NAS / 외부 노드 / 클라우드)를 정하자.
    이 글의 목표는 ‘로컬 우선 + 외부 이중 백업’ 전략으로, 스마트폰(서버) → 집 NAS(로컬) → 외부 클라우드(선택: rclone 연동) 순으로 자동화하는 방법을 설명한다.


    백업의 본질은 기술이 아니라 습관이며, 꾸준한 점검이 가장 강력한 보안이라는 사실을 잊지 말자.


    도구 선택과 기본 아키텍처 설계

    자동화에는 안정적인 도구가 필요하다. 대표적으로는 rsync(덮어쓰기/증분 백업), Syncthing(실시간 동기화), rclone(클라우드 업로드), 그리고 자동화·스케줄러용 cron(cronie) 또는 Termux의 Termux:Boot + 쉘 스크립트를 조합한다.
    기본 아키텍처는 다음과 같다.

    • 1차: 구형 스마트폰 안 쓰는 스마트폰 내부 데이터 → 로컬 NAS (rsync/ssh) — 주기적(일간/시간별)
    • 2차: NAS 보관본 → 외부 클라우드(구글 드라이브/원드라이브 등, rclone) — 일간 또는 주간
    • 보완: 실시간 동기화가 필요한 폴더(사진·문서)는 Syncthing으로 즉시 복제
      이 구조는 ‘로컬에서 먼저 복구 가능’하면서도 ‘장기 보존’과 재난 복구 요건을 만족시킨다.
    • 결국 좋은 구조란, 문제가 생겨도 자동으로 복원되는 단순하고 예측 가능한 시스템을 의미한다.

    실전 설정 예시 — Termux + rsync + crontab 조합

    아래 예시는 Termux 환경에서 구형 스마트폰 안쓰는 스마트폰의 특정 폴더(예: /storage/emulated/0/MyServerData)를 NAS(192.168.0.10)의 /backup/phones/phone01로 rsync over SSH로 전송하는 자동화 예시다.

    1. 준비: Termux에 필요한 패키지 설치
     
    pkg update && pkg upgrade pkg install openssh rsync cronie termux-setup-storage
    1. NAS에 SSH 키 인증 설정(패스프레이즈 없는 키 권장하지 않음 — 필요시 ssh-agent 사용)
     
    ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub | ssh user@192.168.0.10 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
    1. 백업 스크립트 작성: ~/backup_phone.sh
     
    #!/data/data/com.termux/files/usr/bin/bash SRC="/storage/emulated/0/MyServerData/" DST="user@192.168.0.10:/backup/phones/phone01/" LOG="/data/data/com.termux/files/home/backup.log" rsync -avz --delete --exclude 'cache/' --log-file="$LOG" "$SRC" "$DST" # 오류 시 이메일/알림(추가 스크립트 연결 가능)

    파일에 실행권한: chmod +x ~/backup_phone.sh

    1. 스케줄 등록 (crontab) — 매일 새벽 03:30 실행
     
    pkg install cronie crontab -e # 편집기에 다음 줄 추가 30 3 * * * /data/data/com.termux/files/home/backup_phone.sh

    Termux에서는 crond를 백그라운드로 실행하도록 설정하거나, Termux:Boot로 부팅 시 자동 시작하게 한다.

    1. 원격 클라우드 이중 보관 (옵션): NAS → 외부 클라우드 자동 업로드 (rclone)
      NAS에 rclone 설정을 해두고, NAS crontab에 다음을 추가:
     
    0 4 * * * rclone sync /backup/phones remote:phone-backups --bwlimit 8M --log-file=/var/log/rclone.log

    이 설정이 완성되면 구형 스마트폰 안 쓰는 스마트폰은 더 이상 단순한 저장 장치가 아닌, 스스로 데이터를 지키는 ‘능동형 서버’로 진화한다.


    복구 테스트·모니터링·운영 정책

    자동화는 설정만으로 끝나지 않는다. 정기적인 복구 테스트를 반드시 수행해야 한다. 매월 한 번은 백업본에서 파일을 복원해 보고, 체크섬(md5 sum 또는 sha256 sum)으로 원본과 무결성을 검증하라.
    모니터링은 로그의 자동 집계로 한다. backup.log와 rclone.log를 logrotate로 관리하고, 실패 알림은 간단한 Slack/Webhook 또는 이메일 스크립트로 연동하면 문제를 조기 발견할 수 있다. 또한 저장소 용량 정책(예: 30일 보관 후 원본만 보관)을 수립해 디스크 포화 사고를 예방한다.
    백업이 잘 되는지보다 복구가 잘 되는지를 확인하는 것이 진짜 관리의 핵심이다.


    운영 팁과 보안 고려사항 (요약)

    • 네트워크: 백업은 가능한 한 로컬 LAN에서 수행하라(유선/5GHz 권장). 외부 전송 시 암호화(SSH/rclone)를 사용한다.
    • 권한: 백업 사용자 계정은 최소 권한만 부여한다. NAS의 백업 폴더는 쓰기 권한만 주고 시스템 디렉터리 접근은 차단한다.
    • 로그·알림: 성공/실패를 로그로 남기고, 실패 시 즉시 알림이 가도록 설정한다.
    • 테스트: 복구 절차를 문서화하고 정기적으로 복원 실습을 한다.
    • 백업이야말로 데이터 시대의 보험이며, 그 보험료는 당신의 꾸준함으로 지불된다.