홈페이지 자동 백업 방법 정보
MySQL 홈페이지 자동 백업 방법
본문
백업을 하기 위한 스크립트를 작성하고 그 스크립트를 일정한 시간(예를 들어 하루 한번)마다 실행하게끔 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>
홈페이지는 자체는 디렉토리 자체에 담겨져 있고, 게시판이나 방명록, 회원같은 웹프로그램의 자료는 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>
추천
0
0
댓글 1개

어휴 감사합니다~