전쟁같은 백업2탄.

그건 아마도 전쟁같은 백업.

백업의 최고봉은 사람이 신경을 안쓰도록 자동화가 되어야 합니다.

그런데 자동화를 하려면 사람이 삽질해야 합니다...

정해진 조건이 조금 난감했는데 소규모 기업(?)에서 사용해볼 만한 방법이라 오픈해봅니다.(아니 이미 더 잘하고 계신 분들 많으시겠죠..)

이 글을 쓰는 시점에서 잠을 못자서 멍한 상태이니 저보다 더 좋은 방법을 가지신 분은 의견 부탁드립니다.

이전 글의 6번 상황입니다.

서버에서 백업되고 있는 디렉토리를 개인의 집에 있는 서버(타겟서버)에서 가져가는 rsync를 걸어야 합니다.

여기에 또 몇가지 제약 조건이 있습니다.
  1. 타겟서버FreeNAS 입니다.
  2. cron으로 자동화.
  3. 타겟 서버는 유동IP.
1,2,번은 별 문제가 되지 않습니다. FreeNAS에도 rsync / cron 모두 있으니까요. 거기에 ssh 접속도 됩니다!

문제는 3번.

ssh가 되니까 사용해서 키 인증을 하면 되지 않나? 라고 생각했는데 FreeNAS의 설정인지
cat /etc/fstab
/dev/ufs/FreeNASs1a / ufs ro 1 1
....

읽기 전용이라니!
어쩔 수 없이 서버 쪽에서 타겟 서버유동IP를 인지하고 있어야 IP가 바뀌어 백업 프로세스가 중단되는 불상사를 막을 수 있을듯 하여 방법을 고심했습니다.

일단 rsyncd.confhosts allow 에 Hostname 을 넣습니다.적당히 home_backup 이라고 합시다.

그리고 그 유동IP 장비에 공유기를 달아서 다이나믹 도메인을 하나 매핑합니다. 국민 공유기 IPTime 을 사용해서 home_backup.iptime.org 이라고 합시다.

그리고 도메인이 연결되었으면 home_backup.iptime.org 에 IP 정보를 알아내어 /etc/hostshome_backup 이란 호스트명으로 넣어두면 인증완료!

된다!!!!

이제 IP를 갱신 할 수 있는 스크립트를 만듭니다.

#!/bin/sh
/bin/cp /etc/hosts /etc/hosts.bak
/bin/sed -e "/home_backup$/d" /etc/hosts.bak > /etc/hosts
/bin/ping home_backup.iptime.org -c 1 | /usr/bin/head -n 1 | /bin/sed -n "s,.*org (\([^\s]*\) .*,\1,p"| /usr/bin/awk -F \) '{ print $1 "\thome_backup" }' >> /etc/hosts

이런식으로 쉘 스크립트를 하나 만들어서 서버쪽에 crontab에 등록합니다.(큰 부하는 없을테니 하루에 4번 정도 돌립니다.)

그리고 FreeNAS에서 백업하는 rsync 스크립트를 돌리면 끝.

여튼 서버에 있는 중요 자료 백업하셔야 하는 SOHO들은 PC에 HDD 잔뜩 넣고 저런식으로 자동 백업 해두면 마음 편하실 듯 합니다.



반응형 광고

구글 광고 작은 것



studionabu.com is powered by Egloos. Subscribe to RSS. Skin designed by 바니.