백업 아무리 강조해도 지나치지 않다. 동기화 기술이 날로 발전하고 있는 마당에 잘 쓰고 있던 랩탑이 맛이 가버리면 필요한 소프트웨어나 귀중한 자료들을 여기저기서 주섬주섬 수동으로 복원을 해야하니 시간도 그렇고 아주 귀찮은 일이 아닐수 없다. 맥사용자는 여유가 있다면 타임머신을 사용해 내장이나 외장 스토리지에 백업을 할 수도 있는데 이것이 여의치 않다면 rsync를 이용해 외부 서버에 백업을 하는 것을 추천한다. 오늘은 이 방법을 알아보자. 덤으로 백업이 정해진 시간에 잘 완료 되었는지를 알기 위해 트윗팅도 해보자.
필요한 절차는 아래와 같다.
1. ssh-keygen -t rsa로 자신의 공개키 .ssh/ida_rsa.pub의 내용을 서버계정의 .ssh/authorized_keys에 추가한다. 이는 ssh시 암호없이 로그인을 위함이다. 처음 만드는 경우 .ssh와 authorized_keys의 퍼미션에 주의.
2. cron_backup.sh 작성 (경로와 백업 제외목록 등은 알아서 추가하거나 뺀다. 트윗을 위한 계정도 마찮가지)
#!/bin/sh
ret=`rsync
-avzr
--progress
--delete-excluded
--exclude=".Trash"
--exclude="Library/Caches"
--exclude="Desktop"
--exclude="Downloads"
--exclude="Documents/aMule Downloads"
--exclude=".DS_Store"
--exclude=".metadata"
-e "ssh"
/Users/leepro
leepro@SERVER:/home/leepro/macbook_backup/ | grep sent`
curl -u ID:PASS -d status="Backup Success! $ret" http://twitter.com/statuses/update.json
3. $HOME/.mycrontab을 만든다. (위치나 이름은 마음대로), 시간은 분, 시간 순으로 정한다. 나의 경우 하루에 두 번 백업을 한다. 점심 시간과 퇴근 시간.
00 12 * * * /Users/leepro/cron_backup.sh
30 16 * * * /Users/leepro/cron_backup.sh
4. $ crontab $HOME/.mycrontab을 실행.
다음에 아마존 S3로 백업하는 프로그램도 만들어서 소개할 예정이고 맥북 하나에 여러 Dropbox계정을 사용하는 팁도 소개할 예정. S3로의 백업이 좋은 이유가 인바운드 트래픽에 대한 과금을 현재 하고있지 않다. 백업이 어차피 넣기만 하고 잘 빼지는 않기 때문에 Dropbox 프리미엄에 비해 S3가 일단은 이득이 있는 백업 장소다.