💾 멘붕 방지 - 백업
처음 개발을 시작하다 보면 여러 가지 툴 🛠️, 라이브러리 📚, 그리고 설정 파일을 설치하고 수정하게 됩니다. 처음에는 깔끔하게 시작했지만, 시간이 지나면 시스템이 엉망이 되는 경우가 많아요. 😵💫
특히 여러 가지 실험을 하다 보면 삭제되지 않는 찌꺼기 파일 🗑️가 남거나, 중요한 설정이 꼬여서 결국 OS를 다시 설치해야 하는 상황이 발생할 수도 있어요. 그렇다면, 이런 상황을 대비하기 위해서는 백업이 필수입니다! ✅
📂 백업할 대상 정하기
개발 환경을 백업할 때는 두 가지 중요한 요소를 고려해야 해요.
- 데이터 백업 💾
- 소스 코드 📜
- 설정 파일 ⚙️
- 문서 및 자료 📝
- 프로젝트 관련 데이터 📊
- 시스템 백업 🖥️
- 운영체제 설정 ⚡
- 필수 프로그램 목록 📋
- 시스템 환경 변수 🌎
데이터 백업은 매일 하는 것이 가장 좋고, 시스템 백업은 필요할 때마다 한 번씩 해두면 좋습니다.
🔄 증분 백업 vs 전체 백업
백업 방법은 여러 가지가 있지만, 대표적으로 전체 백업과 증분 백업이 있어요.
- 전체 백업 🏠: 모든 데이터를 한 번에 백업하는 방식 (용량이 크고 시간 소요가 많음)
- 증분 백업 📈: 변경된 파일만 추가로 백업하는 방식 (속도가 빠르고 효율적!)
개발 환경에서는 증분 백업이 가장 적합합니다. 매일 작업한 변경 사항만 저장하면서, 필요할 때 빠르게 복구할 수 있기 때문이에요. 💡
🛠️ rsync
를 활용한 증분 백업 방법
rsync
는 가장 널리 사용되는 백업 도구 중 하나로, 증분 백업이 가능하고 속도도 빠른 것이 장점입니다. 🚀
1. 처음 백업하기
rsync -av --progress /home/user/workspace/ /mnt/backup/workspace/
-a
: 권한과 속성을 유지-v
: 진행 상황 표시--progress
: 복사 진행률 표시
2. 변경된 파일만 추가로 백업하기
rsync -av --delete /home/user/workspace/ /mnt/backup/workspace/
--delete
옵션을 사용하면 원본에서 삭제된 파일도 백업본에서 삭제됨 (동기화 효과) ❗
🌍 원격 서버에 백업하기 (ssh
사용)
백업을 외장 하드에만 하는 것도 좋지만, 원격 서버에도 백업해 두면 더욱 안전합니다. 🔐
1. 원격 서버에 rsync
로 백업하기
rsync -av --progress -e "ssh" /home/user/workspace/ user@remote-server:/backup/workspace/
-e "ssh"
: SSH 프로토콜을 사용하여 원격으로 전송
이제 원격 서버에도 안전하게 백업이 저장됩니다! 🏠
⏰ 자동 백업 설정 (크론탭 사용)
매일 자동으로 백업되게 설정하면 편하겠죠? 크론탭 (cron job) ⏳을 사용하면 정해진 시간마다 자동으로 백업할 수 있어요.
1. 크론탭 편집하기
crontab -e
2. 매일 밤 12시에 백업 실행하기
0 0 * * * rsync -av --delete /home/user/workspace/ /mnt/backup/workspace/
이제 매일 자정이 되면 자동으로 백업이 실행됩니다! 🌙
🚀 백업은 필수! 안전한 개발 환경을 위해
백업은 귀찮지만, 하지 않으면 반드시 멘탈이 붕괴되는 순간 😱이 찾아옵니다. 백업을 해두면 개발 환경이 망가져도 쉽게 복구할 수 있으니 꼭 실천하세요!
✅ 백업할 대상 정하기
✅ 증분 백업을 활용하기
✅ 자동 백업 설정하기
✅ 원격 서버에도 백업해 두기