RadarURL

유닉스/리눅스
2014.11.18 20:09

리눅스 자동 백업 스크립트

조회 수 844 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

백업을 받는 컴퓨터는 따로 둔다.
왜냐면 하나를 날려먹어도 하나는 살려둬야 하잖아.
그리고 서버 사용시간대를 피한 아침 6시

기본 발상은 이렇다.
일단 crond 데몬으로 아침 6마다 백업 스크립트를 실행하는데
그 백업 스크립트는 특정 디렉토리를 tar.gz 로 압축하고
그걸 백업 서버의 ftp 로 접속해서 저장한다.
이정도만 되더라도 사용자들의 데이터는 안전하게 유지할수 있는것이다.

그럼 먼저 crond 을 보도록 하자
crond 는 특정 시간이나 날짜(좀 복잡하게도 가능)에 정해진 일을 수행하는 데몬이다.
자세한거는 직접들 찾아보시고

# crontab -e 0 6 * * * /bin/backup.sh


이렇게 명령을 주게되면 crond 에 매일 아침 6시에 /bin/backup.sh 를 실행하라는
것을 의미한다. 자세한 의미는 굳이 설명하지 않겠다.
이러면 crond 는 매일 아침 6정각에 /bin/backup.sh 를 실행한다.

다음은 backup.sh 의 내용이다.

#!/bin/bash
dstring="backup_`date +'%y%m%d'`.tar.gz"  # 파일명을 만들어낸다.
                                                             # 04년06월21일같은경우에
                                                             # backup_040621.tar.gz 를 만든다.
wall < /bin/start_backup_message             # 접속되어있는 모든 사용자에게
                                                             # 백업이 시작됨을 알리고
/etc/init.d/network stop                            # 네트워크 서비스를 중지시킨다.
tar cfz $dstring "/home"                        # home 디렉토리를 파일명으로 압축한다.
/etc/init.d/ network start                           # 네트워크 서비스 재개

Server="Backup Server Address"   # 서버IP
Password="PASSWORD"              # backup 받는 유저의 패스워드
UsrID="USERID"                           # ID

ftp -n $Server <<End-Of-Session  # ftp 에 접속 -n 옵션은 자동로그인을 안한다.
user $UsrID $Password                # 로그인
binary
put "$dstring"
bye
End-Of-Session

rm -f $dstring                               # 백업파일 삭제

wall < /bin/end_backup_message  # 백업이 끝났음을 알린다



네트워크 서비스를 중지시키는 이유는 간단하다.
백업이 진행될동안 서버에 파일을 올리지 않게 하기 위해서이다.
백업도중에 데이터의 용량이 커져버리면 왠지 모르게 문제가 생길것 같다.

이렇게 해서 테스트 해본결과 backup 서버의 특정 계정에
백업된 데이터가 들어왔다.

다른사람들도 꼭 한번 해보길 바란다... 나처럼 데이터 날려먹고 울지말고..



출처 : http://www.humansoft.kr/bbs/board.php?bo_table=z5_3&wr_id=119#.VGqp_GccQeM

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 927898
486 네트워크 NAS (Network Attached Storage)란..? JaeSoo 2014.11.12 656
485 네트워크 NAS, SAN, DAS, ISCSI JaeSoo 2014.11.14 683
484 웹 프로그래밍 XE 레이아웃에 사이트현황 출력하기 file JaeSoo 2014.11.14 740
483 네트워크 기가비트 네트웍 구축의 허와 실에 대하여 - Gigabit Network JaeSoo 2014.11.14 708
482 데이터베이스 Mysql 데이터 폴더의 mysql-bin.xxx 파일들 관련 삭제 및 초기화 방법 JaeSoo 2014.11.17 1113
481 윈도우즈 Windows에서 볼륨 정품 인증 오류 코드 문제를 해결하는 방법 JaeSoo 2014.11.17 1581
480 데이터베이스 MySQL 설치/사용시 발생 에러 유형별 대처방법 JaeSoo 2014.11.17 6889
479 데이터베이스 MySQL Binary Log 지우는 방법 JaeSoo 2014.11.17 1222
478 데이터베이스 MySQL 로그 파일 관리 1 - 설정 JaeSoo 2014.11.17 1155
477 데이터베이스 MySQL 로그 파일 관리 2 - 로그 파일 남기기 JaeSoo 2014.11.17 1237
476 데이터베이스 Mysql binary log 정리, 삭제 주기 설정 JaeSoo 2014.11.17 1158
475 유닉스/리눅스 yum 사용법 정리 JaeSoo 2014.11.18 798
474 유닉스/리눅스 리눅스 스케줄 설정 crontab JaeSoo 2014.11.18 799
473 유닉스/리눅스 yum 이란? JaeSoo 2014.11.18 698
472 유닉스/리눅스 gzip 과 gunzip 명령어 JaeSoo 2014.11.18 657
471 유닉스/리눅스 TAR 명령어의 모든것 JaeSoo 2014.11.18 1118
» 유닉스/리눅스 리눅스 자동 백업 스크립트 JaeSoo 2014.11.18 844
469 유닉스/리눅스 리눅스 버전 확인(centos, redhat) 하는 명령어 JaeSoo 2014.11.18 1119
468 하드웨어 스토리지 IBrix 6.0 preview JaeSoo 2014.11.20 538
467 블로그 블로그 만들기, BLOG 서비스를 제공하는 사이트 종류별 비교분석 file JaeSoo 2014.11.21 2663
Board Pagination Prev 1 ... 95 96 97 98 99 100 101 102 103 104 ... 124 Next
/ 124


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너