RadarURL
Skip to content
조회 수 1080 추천 수 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
번호 제목 글쓴이 날짜 조회 수
162 페도라12 yum(rpm)으로 APM 설치 (수호신패치 포함) JaeSoo 2011.06.08 12310
161 특별한 퍼미션 setuid setgid sticky bit JAESOO 2015.05.27 554
160 톰캣(Tomcat) 실시간 로그보기 JAESOO 2015.04.13 1069
159 좀비 프로세스 찾기, 죽이기 JAESOO 2015.05.27 898
158 유닉스 상에서 ls 출력물을 MB 단위로 출력해주는 옵션 JAESOO 2016.05.04 446
157 웹서버 CentOS 6.5 MRTG 설치 JAESOO 2014.12.26 1006
156 올바른 자바 프레임워크 선택하기 JAESOO 2014.05.09 1044
155 안전한 CentOS를 위한 방화벽, 보안 설정 JAESOO 2014.05.26 2093
154 아파치서버 동시접속자수에 따른 메모리 산정 (대략) JAESOO 2015.01.13 1613
153 시스템 관리자가 알아야 할 리눅스 모니터링 툴 20선 (20 Linux System Monitoring Tools Every SysAdmin Should Know) JAESOO 2014.05.29 2301
152 스프링 프레임워크(Spring Framework) 버전(version) 확인하기 JAESOO 2014.05.09 1368
151 스트러츠와 스프링의 비교 JAESOO 2014.05.09 1414
150 쉘 프로그래밍을 이용한 시스템 관리 기법 JAESOO 2016.05.12 540
149 성능 엔지니어링 대한 접근 방법 (Performance tuning) JAESOO 2016.05.05 489
148 리눅스에서 일반 계정으로 httpd 80포트 실행하기 JAESOO 2014.05.26 1106
147 리눅스에서 MYSQL 데이터 디렉토리 변경 JAESOO 2014.06.04 2015
146 리눅스에서 i386,i586,i686, x86의 차이점 JAESOO 2014.05.30 2176
145 리눅스로 MRTG 트래픽분석서버 구축 JAESOO 2014.12.26 730
144 리눅스(Linux)에서 하위 디렉토리까지 파일 찾기, 찾아서 지우기 JAESOO 2015.02.24 1232
143 리눅스(Linux) 디렉토리 구조 JAESOO 2016.10.20 602
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

PageViews   Today : 5603 Yesterday : 5037 Total : 21961655  /  Counter Status   Today : 5423 Yesterday : 4602 Total : 1188146

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소