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 928100
41 유닉스/리눅스 리눅스(Linux) 디렉토리 구조 file JaeSoo 2016.10.20 693
40 유닉스/리눅스 [리눅스] IP 설정 변경 하기 file JaeSoo 2016.08.23 326
39 유닉스/리눅스 리눅스 설치후 초기설정해야 할 것들 [2] file JaeSoo 2016.07.13 400
38 유닉스/리눅스 리눅스 설치후 초기설정해야 할 것들 [1] file JaeSoo 2016.07.13 360
37 유닉스/리눅스 리눅스 호스트명 변경 JaeSoo 2016.05.11 728
36 유닉스/리눅스 리눅스 logrotate 에서 로그파일 강제로 rotate 시키기 file JaeSoo 2016.03.30 702
35 유닉스/리눅스 리눅스 시간 맞추기 : Time Server와 Sync (rdate, date) JaeSoo 2016.03.19 707
34 유닉스/리눅스 리눅스 실시간으로 로그 보기 tail 명령어 JaeSoo 2015.03.16 639
33 유닉스/리눅스 리눅스(Linux)에서 하위 디렉토리까지 파일 찾기, 찾아서 지우기 JaeSoo 2015.02.24 855
32 유닉스/리눅스 데비안 리눅스 로그 관리 JaeSoo 2015.01.13 424
31 유닉스/리눅스 리눅스 로그파일관리 (logrotate) file JaeSoo 2015.01.13 745
30 유닉스/리눅스 리눅스 logrotate를 활용한 로그 관리 (compress, lotate) JaeSoo 2015.01.13 563
29 유닉스/리눅스 리눅스로 MRTG 트래픽분석서버 구축 JaeSoo 2014.12.26 706
28 유닉스/리눅스 리눅스 - 디스크 검사 및 파일 시스템 복구 (badblocks, fsck) JaeSoo 2014.12.26 754
27 웹서버,WAS 리눅스 webalizer를 통한 apache log(웹서버 접속 통계) 분석하기 (추천) JaeSoo 2014.12.25 1098
26 웹서버,WAS 리눅스 아파치 로그 뷰어 webalizer, utf-8로 변환하기 file JaeSoo 2014.12.22 880
25 유닉스/리눅스 리눅스 버전 확인(centos, redhat) 하는 명령어 JaeSoo 2014.11.18 1121
» 유닉스/리눅스 리눅스 자동 백업 스크립트 JaeSoo 2014.11.18 844
23 유닉스/리눅스 리눅스 스케줄 설정 crontab JaeSoo 2014.11.18 799
22 유닉스/리눅스 리눅스 스케줄러 crontab 이용하기 file JaeSoo 2014.10.20 1106
Board Pagination Prev 1 2 3 Next
/ 3


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

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

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

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

JServer.kr

제이서버 메타블로그

재수 티스토리


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

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너