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

홈페이지 자동 백업 방법

· 19년 전 · 3200 · 1
백업을 하기 위한 스크립트를 작성하고 그 스크립트를 일정한 시간(예를 들어 하루 한번)마다 실행하게끔 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개

어휴 감사합니다~

게시글 목록

번호 제목
2405
2404
2403
2400
2398
2397
2396
2395
2393
2389
18070
2385
2383
18069
2382
2381
2380
18068
2377
2374
2373
2371
18067
2370
2368