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
번호 제목 글쓴이 날짜 조회 수
33 리눅스(Linux) 디렉토리 구조 JAESOO 2016.10.20 603
32 [리눅스] IP 설정 변경 하기 JAESOO 2016.08.26 717
31 리눅스 설치후 초기설정해야 할 것들 [2] JAESOO 2016.07.13 675
30 리눅스 설치후 초기설정해야 할 것들 [1] JAESOO 2016.07.13 702
29 리눅스 호스트명 변경 JAESOO 2016.05.11 439
28 리눅스 logrotate 에서 로그파일 강제로 rotate 시키기 JAESOO 2016.03.31 663
27 리눅스 시간 맞추기 : Time Server와 Sync (rdate, date) JAESOO 2016.03.19 733
26 리눅스(Linux)에서 하위 디렉토리까지 파일 찾기, 찾아서 지우기 JAESOO 2015.02.24 1232
25 데비안 리눅스 로그 관리 JAESOO 2015.01.13 689
24 리눅스 로그파일관리 (logrotate) JAESOO 2015.01.13 723
23 리눅스 logrotate를 활용한 로그 관리 (compress, lotate) JAESOO 2015.01.13 1162
22 리눅스로 MRTG 트래픽분석서버 구축 JAESOO 2014.12.26 730
21 리눅스 - 디스크 검사 및 파일 시스템 복구 (badblocks, fsck) JAESOO 2014.12.26 3600
20 리눅스 버전 확인(centos, redhat) 하는 명령어 JAESOO 2014.11.18 1234
» 리눅스 자동 백업 스크립트 JAESOO 2014.11.18 1080
18 리눅스 스케줄 설정 crontab JAESOO 2014.11.18 1271
17 리눅스 스케줄러 crontab 이용하기 JAESOO 2014.10.20 1376
16 리눅스 호스트명 변경 JAESOO 2014.10.10 1431
15 리눅스 명령어 : find 활용법 JAESOO 2014.08.09 1839
14 리눅스 전원 끄기 - shutdown과 halt JAESOO 2014.06.24 2144
Board Pagination Prev 1 2 Next
/ 2

PageViews   Today : 12091 Yesterday : 5037 Total : 21968143  /  Counter Status   Today : 11702 Yesterday : 4602 Total : 1194425

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소