Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

ServerBackup: Difference between revisions

From ZeroWiki
imported>neocoin
No edit summary
(Repair MoniWiki formatting after migration)
 
(21 intermediate revisions by 3 users not shown)
Line 1: Line 1:
2008-11-02 부터 진행하는 [[ZeroPage]] 서버 데이터 원격지 백업 스크립트 관련 내용.
----
=== Pre Process ===
=== Pre Process ===
사전 공부  
사전 공부  
Line 5: Line 7:
** (./) http://www.pixelbeat.org/docs/screen/
** (./) http://www.pixelbeat.org/docs/screen/
** (./) sudo 권한 설정  
** (./) sudo 권한 설정  
**
/etc/group
에 admin 그룹에 원하는 사용자 추가,  /etc/sudoers에서 사용자 제거


# 언어 선택  
# 언어 선택  
Line 10: Line 16:
# 해당 언어로 ftp접속
# 해당 언어로 ftp접속
** http://docs.python.org/library/ftplib.html
** http://docs.python.org/library/ftplib.html
** 작은 파일 하나를 zeropage@neocoin.net 으로 올린다.  
** (./) 작은 파일 하나를 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')
# 백업 스크립트 작성
# 백업 스크립트 작성
** backup target 설정
** backup target 설정
** 복사
** mysql
** 압축  
/usr/bin/mysqldump -u <username> -p <password> <databasename> | gzip > /path/to/backup/db/zeropage_`date +%y_%m_%d`.gz
** 암호화
** (./) 압축 ~ 위 스크립트에서 한꺼번에 수행
** 임시 저장소에 복사 ~
  * 서버 키를 쓰지 않은 최소의 암호화
    {{{
gpg --passphrase #{PASSWORD} --no-use-agent -c file
** 복호화
gpg file
# 전송 테스트
# 전송 테스트
# 백업 정책 결정  
# 백업 정책 결정  
** 주기, 시각
** 주기, 시각
# cron test
# cron test
** http://en.wikipedia.org/wiki/Cron 예제
11 5 * * *  /root/backupToNeocoin.py >> /var/log/backupToNeocoin.log 2>&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 ===
=== Post Process ===
# 모니터링
# 모니터링
=== 앞으로 할일 ===
#
----
----
[[분류]]
분류
 

Latest revision as of 00:34, 29 March 2026

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


Pre Process

사전 공부

Process

  1. screen 공유를 위한 서버 세팅
/etc/group

에 admin 그룹에 원하는 사용자 추가, /etc/sudoers에서 사용자 제거


  1. 언어 선택
    • (./) Python
  1. 해당 언어로 ftp접속
#!/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')
  1. 백업 스크립트 작성
    • backup target 설정
    • mysql
/usr/bin/mysqldump -u <username> -p <password> <databasename> | gzip > /path/to/backup/db/zeropage_`date +%y_%m_%d`.gz
    • (./) 압축 ~ 위 스크립트에서 한꺼번에 수행
    • 임시 저장소에 복사 ~
  * 서버 키를 쓰지 않은 최소의 암호화
   {{{
gpg --passphrase #{PASSWORD} --no-use-agent -c file
    • 복호화
gpg file
  1. 전송 테스트
  2. 백업 정책 결정
    • 주기, 시각
  1. cron test
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. 모니터링

앞으로 할일


분류