홈페이지 자동 백업 방법
백업을 하기 위한 스크립트를 작성하고 그 스크립트를 일정한 시간(예를 들어 하루 한번)마다 실행하게끔 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>
댓글 1개
13년 전
어휴 감사합니다~
게시글 목록
| 번호 | 제목 |
|---|---|
| 9921 | |
| 28612 |
HTML
사용자 웹브라우저의 이름 알려주기
|
| 28611 | |
| 28605 | |
| 9920 |
JavaScript
Samba 설정
|
| 9916 | |
| 9915 | |
| 28596 | |
| 9906 |
JavaScript
Ajax(Asynchronous JavaScript and XML)란?
8
|
| 28572 |
HTML
if
23
|
| 28564 |
HTML
iinclude와 조건문
7
|
| 9898 | |
| 24744 | |
| 24742 | |
| 24741 | |
| 24736 | |
| 28558 | |
| 9896 | |
| 9893 | |
| 9892 |
JavaScript
웹문서에 주소창 넣기 스크립트
|
| 9891 | |
| 9890 | |
| 28557 | |
| 9889 | |
| 9888 |
JavaScript
폼 항목중 입력하지 않을때 경고창 띄우기
|
| 9887 | |
| 9885 | |
| 9884 |
JavaScript
아기창 자동으루 띄우고 엄마창 자동으루 죽이기
|
| 28555 | |
| 9883 | |
| 9881 |
MySQL
rrdtool 사용하기
1
|
| 9880 | |
| 9879 | |
| 9878 |
MySQL
메일,홈계정 쿼터 적용하기
|
| 9877 |
기타
파일을 분할 압축방법
|
| 9876 |
MySQL
mysql 부팅시 실행 시키기
|
| 9873 |
JavaScript
mod_rewrite 모듈 설치
2
|
| 9871 |
MySQL
phpMyadmin 웹호스팅 설정
1
|
| 9864 | |
| 9840 |
기타
머리카락 패스따기
23
|
| 9836 | |
| 9834 | |
| 9832 |
Flash
초짜의 Fade_Out_Effect 연습
1
|
| 9830 |
Flash
초짜의 Shadow_Effect 연습
1
|
| 9828 | |
| 9826 |
Flash
초짜의 Typo_Graphy 트위닝 연습
1
|
| 9797 | |
| 9754 | |
| 9709 | |
| 9686 | |
| 9646 | |
| 9634 | |
| 9617 | |
| 9615 | |
| 9613 | |
| 28553 | |
| 9611 | |
| 9607 | |
| 24726 | |
| 24725 | |
| 24721 | |
| 9569 | |
| 9567 |
Flash
플래시강좌 진행중입니다.
1
|
| 9550 | |
| 9531 | |
| 9527 |
JavaScript
접속자 아이피 출력(1원짜리 팁)
3
|
| 28550 | |
| 9493 | |
| 9479 | |
| 9431 | |
| 9418 | |
| 9372 | |
| 9331 | |
| 9267 | |
| 9216 | |
| 9215 | |
| 9214 |
JavaScript
리눅스 설치 후 해야 할 일
|
| 28549 | |
| 28548 |
HTML
데이터베이스의 생성, 선택, 보기
|
| 9213 |
JavaScript
[PHP동영상강좌] 프로그래밍 본격 시작 - 01
|
| 28543 |
HTML
포토샵 CS 브러쉬 툴 강좌
4
|
| 9211 | |
| 9210 | |
| 9208 | |
| 24718 | |
| 24706 | |
| 24702 |
기획서
[엑셀] 웹기획서
3
|
| 24701 | |
| 24698 |
견적서
쇼핑몰 제작 견적서
2
|
| 24695 |
계약서
쇼핑몰 계약서
2
|
| 9202 |
JavaScript
시원한 테이블 메뉴 스크립트
5
|
| 28540 | |
| 24688 | |
| 9194 |
Flash
IE 패치에 따른 플래시 이용방식 변경
7
|
| 24679 |
계약서
홈페이지 계약서
8
|
| 24674 | |
| 24670 | |
| 9193 |
정규표현식
[브라우저]브라우저명을 정확히 알아내기
|
| 9191 |
JavaScript
[위치관련]팝업창을 브라우저 해상도 구분없이 항상 중앙에 띄우기
1
|
| 9190 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기