테스트 사이트 - 개발 중인 베타 버전입니다

홈페이지 자동 백업 방법

백업을 하기 위한 스크립트를 작성하고 그 스크립트를 일정한 시간(예를 들어 하루 한번)마다 실행하게끔 crontab을 설정해주면 됩니다.

홈페이지는 자체는 디렉토리 자체에 담겨져 있고, 게시판이나 방명록, 회원같은 웹프로그램의 자료는 MySQL 데이터베이스에 저장이 됩니다.

홈페이지는 tar를 이용해서 묶고 데이터베이스는 mysqldump를 사용합니다.

아래 스크립트는 백업하기 위한 스크립트입니다.

jejulab_autobackup_script.bash
===============================================================================
#!/bin/bash

PATH="/usr/local/mysql/bin:/bin:/usr/bin"

mysqldump -u [mysql userid] -p [mysql password] [mysql database name] > [데이터베이스백업화일] 2>> [에러로그화일]

tar -cf [디렉토리백업화일] [홈페이지디렉토리경로] [데이터베이스백업화일] 2>> [에러로그화일]

date=`date`
statement=$(date)_backup_success

echo $statement >> [백업로그화일]

=================================================================================

첫줄은 스크립트를 실행할 쉘을 지정합니다.

두번째줄은 tar와 mysqldump 명령을 찾기 위한 명령입니다.

세번째줄은 mysql database의 자료를 [데이터베이스백업화일]로 만들어 줍니다.

네번째줄은 [홈페이지디렉토리경로] 와 [데이터베이스백업화일] 을 묶어서 [디렉토리백업화일]로 만들어줍니다.

다섯번째줄과 그 및으로는 에러로그와 백업성공로그를 저장합니다.

[데이터베이스백업화일] : 백업된 결과로 나올 화일
[홈페이지디렉토리경로] : 홈페이지 디렉토리 경로로서 만약 홈페이지 디렉토리 경로가 여러개일 경우 스페이스를 기준으로 다 적어줍니다.
[디렉토리백업화일] : 최종적으로 얻어낸 홈페이지의 백업화일입니다.

이 스크립트를 완성하면 다음은 crontab에 등록하여 줍니다.

crontab을 사용하기 위해서는 /etc/cron.allow 화일 안에 자신의 아이디가 있거나 /etc/cron.allow 화일이 없어야 합니다.
물론 /etc/cron.deny 화일에 자신의 아이디가 없어야 합니다.

$ ps -ef | grep crond

해서 crontab을 사용할수 있는 시스템인지 확인합니다.
crond 라는 데몬이 떠 있으면 사용할수 있습니다.

$ crontab -e

하면 시스템이 지정한 편집기가 뜨는데

SHELL=/bin/bash
MAILTO=[userid]
0 0 * * * [스트립트화일 경로 및 이름]

를 입력하고 저장하고 빠져나오면 하루에 한번 자정에 위의 스크립트를 실행합니다.

그럼 매일 백업이 자동을 되겠죠..

편집기가 뜬다음 편집하는것보다는 화일로 만들어두거나 하면 금방 수정해서 바로 적용할 수 있겠죠.

편집기가 뜨면 넣을 내용을 따로 화일로 만들어서

$ crontab [만든화일이름]

하면 자동으로 crontab 에 등록이 됩니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:27:00 MySQL에서 이동 됨]</div>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

어휴 감사합니다~

게시글 목록

번호 제목
9921
28612
28611
28605
9920
JavaScript Samba 설정
9916
9915
28596
9906
28572
HTML if 23
28564
9898
24744
24742
24741
24736
28558
9896
9893
9892
9891
9890
28557
9889
9888
9887
9885
9884
28555
9883
9881
9880
9879
9878
9877
9876
9873
9871
9864
9840
9836
9834
9832
9830
9828
9826
9797
9754
9709
9686
9646
9634
9617
9615
9613
28553
9611
9607
24726
24725
24721
9569
9567
9550
9531
9527
28550
9493
9479
9431
9418
9372
9331
9267
9216
9215
9214
28549
28548
9213
28543
9211
9210
9208
24718
24706
24702
24701
24698
24695
9202
28540
24688
9194
24679
24674
24670
9193
9191
9190