메뉴 건너뛰기

조회 수 8204 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
가장 정리가 잘 된 스크립트 예제


우선 root로 로그인한후
vi backup.sh를 입력하여 sh파일을 생성해 봅니다.

그리고 아래의 내용을 본인의 환경에 맞게 적당하게 편집한후 저장합니다.
(이때 경로부분은 pwd 명령을 입력하여 절대경로로 입력해줍니다)

---------------------------------------------------------------------------------------
#!/bin/bash
DATE=`date +%Y%m%d`
-->위에 실행이 안되어서 다음과 같이 수정하니 실행 되었다.
DATE=$(date +%Y%m%d)
DB_BACKUP_DIR=/backup/db
WEB_BACKUP_DIR=/backup/web
WEB_DIR=/www_dir

##### MySQL 특정 데이타베이스 백업 #####
mysqldump -uroot -p***** justin > $DB_BACKUP_DIR/justin_$DATE.sql
mysqldump -uroot -p***** xnova > $DB_BACKUP_DIR/xnova_$DATE.sql
 
root가 아닌 각 계정별로 가능하다. root의 암호를 쓰는것은 바람직 하지 않다.계정별 추천.
/usr/local/mysql/bin/mysqldump -u아이디 -p비번 디비이름 > $DB_BACKUP_DIR/디비이름_$DATE.sql

##### MySQL 전체 데이타베이스 백업 #####
mysqldump -uroot -p***** -A > $DB_BACKUP_DIR/all_$DATE.sql

##### 웹파일 백업 (web 디렉토리의 모든내용을 백업) #####
tar czfp $WEB_BACKUP_DIR/web_$DATE.tar.gz $WEB_DIR/web

##### 오래된 백업 삭제 (일주일 전의 파일들만 삭제) #####
WEEKAGO=`date -d "7 days ago" +%Y%m%d`
rm $DB_BACKUP_DIR/*$WEEKAGO.sql
rm $WEB_BACKUP_DIR/*$WEEKAGO.tar.gz

##### 권한 수정 #####
chmod -R 600 $WEB_BACKUP_DIR
chmod -R 600 $DB_BACKUP_DIR

##### 백업 후 FTP로 전송한다면 아래 사용 #####
#REMOTE='192.168.0.123'    ## FTP 리모트 변수 (서버IP)
#ID='test'                ## FTP 아이디
#PWD='1234'                ## FTP 패스워드
#REMOTE_DIR='/home/test'  ## 리모트디렉토리

#ftp -n -v $REMOTE << EOF  ## FTP 접속
#user $ID $PWD            ## LOGIN
#prompt
#bi                        ## binary 모드 변경

#put $DB_BACKUP_DIR/all_$DATE.sql $REMOTE_DIR/all_$DATE.sql
#bye                      ## 접속종료
#EOF



--------------------------------------------------------------------------------------------

:wq를 입력하여 저장한후

vi /etc/crontab 을 입력하면 cron설정을 수정할 수 있습니다.

0  5  *  *  *  root  /your/shell/file/dir/backup.sh

이렇게 입력하면 root 권한으로 메일 새벽 5시에 해당 쉘을 실행시키라는 의미입니다.

cron 파일을 수정한 후

# /etc/init.d/cron restart

명령으로 크론을 재기동해줍니다.

만든 쉘이 정상작동되는지 확인하려면 해당 경로에서

./backup.sh 로 강제실행 시킬 수 있습니다.
 
실행이 안되면 아래 명령어를 실행해 준다.
root#] chmod +x backup.sh

  1. No Image 16Jul
    by
    2015/07/16 Views 8184 

    아파치 재시작 없이 설정 적용

  2. No Image 16Jul
    by
    2015/07/16 Views 7754 

    php.ini 파일에서 timezone 설정

  3. No Image 16Jul
    by
    2015/07/16 Views 7776 

    php-mbstring 설치

  4. No Image 16Jul
    by
    2015/07/16 Views 7858 

    mysql root 비밀번호 설정

  5. No Image 16Jul
    by
    2015/07/16 Views 7511 

    MySQL 계정생성하기

  6. No Image 16Jul
    by
    2015/07/16 Views 7368 

    httpd.conf 기타 설정 사항

  7. No Image 16Jul
    by 조쉬
    2015/07/16 Views 8204 

    cron을 이용한 DB자동백업

  8. No Image 17Jul
    by
    2015/07/17 Views 7698 

    CentOS 7 FTP Server 설치

  9. No Image 17Jul
    by
    2015/07/17 Views 7648 

    CentOS 7 Subversion(SVN)

  10. No Image 17Jul
    by
    2015/07/17 Views 7838 

    Centos7 64bit 웹서버 만들기-방화벽설치 CAP2

  11. Centos7 64bit 웹서버 만들기-mysql설치 CAP4

  12. Centos7 64bit 웹서버 만들기-PHP설치 CAP5

  13. Centos7 64bit 웹서버 만들기-소켓모듈설치(socket.io) CAP7

  14. No Image 30Jul
    by
    2015/07/30 Views 8698 

    PHP-5.3 이상 Zend 설치

  15. [Linux]리눅스,사용자계정(관련 파일,명령어)

  16. No Image 18Mar
    by
    2016/03/18 Views 10382 

    이온큐브로더(ioncube) 설치 매뉴얼

  17. No Image 18Mar
    by
    2016/03/18 Views 7553 

    특정 웹페이지에서 문자가 깨지는 경우 (인코딩 문제)

  18. No Image 18Mar
    by
    2016/03/18 Views 9316 

    확장자가 없는 파일 자동인식하는 mod_mime_magic

  19. No Image 18Mar
    by
    2016/03/18 Views 8554 

    Apache 2.x 에서 maxclients 1024 제한 초과 방법 (수정 중..)

  20. No Image 18Mar
    by
    2016/03/18 Views 8808 

    하드디스크 배드블록 점검 툴 - badblocks

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 Next
/ 12

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved