E D R , A S I H C RSS

Server Backup

2008-11-02 부터 진행하는 ZeroPage 서버 데이터 원격지 백업 스크립트 관련 내용.

Pre Process

사전 공부

Process

  1. screen 공유를 위한 서버 세팅
  2. 언어 선택
    • (./) Python
  3. 해당 언어로 ftp접속
    • http://docs.python.org/library/ftplib.html
    • (./) 작은 파일 하나를 zeropage@neocoin.net 으로 올린다.

      #!/usr/bin/env python
      
      
      def uploadFile(filename):
          import ftplib
          s = ftplib.FTP('servername')
          s.login('server',password) # Connect
          f = open(filename,'rb')                # file to send
          s.storbinary('STOR %s'%filename, f)         # Send the file
          f.close()                                # Close file and FTP
          s.quit()
      
      uploadFile('index.html')
      
      
  4. 백업 스크립트 작성
    • backup target 설정
      • mysql
        /usr/bin/mysqldump -u <username> -p <password> <databasename> | gzip > /path/to/backup/db/zeropage_`date +%y_%m_%d`.gz
        
    • (./) 압축 ~ 위 스크립트에서 한꺼번에 수행
    • 임시 저장소에 복사 ~
      {{{/var/backup}} 정도 위치
        * 서버 키를 쓰지 않은 최소의 암호화
         {{{
      gpg --passphrase #{PASSWORD} --no-use-agent -c file
      }}}
         * 복호화 
          {{{
      gpg file
      }}}
       1. 전송 테스트
       1. 백업 정책 결정 
        * 주기, 시각
       1. cron test
        * http://en.wikipedia.org/wiki/Cron 예제
         {{{
      11 5 * * *   /root/backupToNeocoin.py >> /var/log/backupToNeocoin.log 2>&1
      }}}
       1. 적용
      
      === Problem ===
       * 문제 ~ DNS Server 가 죽었음 (or 잘못 설정되어 있음 165.194.35.222 서버 확인 필요) 그래서 주소 기반으로 외부로 ping을 날릴수 없다.
        * 해결 ~ {{{/etc/resolv.conf}}} 에 무료 dns 서버 등록 후 교내 서버는 가장 마지막 순위로 변경 http://theos.in/windows-xp/free-fast-public-dns-server-list/
      
       * 문제 ~  sudo 가 안됨 
        * 해결 ~ admin 그룹에 원하는 사용자 추가 
      === Post Process ===
       1. 모니터링
      
      === 앞으로 할일 ===
       1. 
      ----
      [분류]
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:28:01
Processing time 0.0279 sec