[Linux] 자동 백업 스크립트, DB백업, 복구

 > vi wwwbackup.sh
해서 다음과 같이 작성한다.

#!/bin/sh


#mysql DB
mysqldump -uroot -p[비번] -A(전부백업한다면) > /backup/mysql_db_bak_$(date +%Y%m%d).sql
mysqldump -uroot -p[비번] junn(DB명) > /backup/junn_db_bak_$(date +%Y%m%d).sql

#html
tar cvfpz /backup/html_bak_$(date +%Y%m%d).tar.gz /home


#delete
find /backup -ctime +3 -exec rm -f {} \;


주의할 점은 $(date +%Y~~)하는 곳에서 date 이후 꼭 한칸을 띄울 것

그 다음에 cron 에 등록해야 한다. 자세한 설명은 http://linuxer.pe.kr/tag/cron 참고
(no crontab for root 라는 문구가 나온다면 등록된 것이 없어서 그러니 신경쓰지 말자)

crontab -e 해서 0 3 * * * /backup/wwwbackup.sh

라고 등록해주었다.

잘되었는지는 내일 확인해보도록 해야겠다.

=> 작동을 안했다-_- chmod 755를 안해줘서 실행이 안된 것 같다는 선배의 말씀

그냥 귀찮아서 etc/cron.daily 라는 폴더에 집어넣고 chmod 755해줬다.

==> 작동했다

복구는

mysql -uuser -ppassword dbname < backup.sql

만약 모두 백업한것이었다면 dbname에도 -A 로 쓴다.

/////////////////////DB 백업, 복구 예제////////////////////////////



  1. Linuxing 2005/06/26 02:25  address  modify / delete  reply

    1. 모든 DB 백업<br />
    mysqldump -u root -p -A > all.sql<br />
    <br />
    2. 특정 DB 백업<br />
    mysqldump -u root -p [DB명] > dbA.sql<br />
    <br />
    3. 특정 Table 백업<br />
    mysqldump – u root -p [DB명] [Table명] > tableA.sql<br />
    <br />
    4. 복구<br />
    mysql -u root -p [target DB명] < tableA.sql



  2. Linuxing 2005/06/26 02:26  address  modify / delete  reply

    // 모든 디비 백업<br />
    # mysqldump -u root -p –all-databases > AllDB_Backup.dump<br />
    <br />
    // 디비 하나만 백업(e.g. mysql이라는 디비를 백업)<br />
    # mysqldump -u root -p mysql > mysql_Backup.dump<br />
    <br />
    // 디비에서 테이블 하나만 백업<br />
    # mysqldump -u root -p mysql user > mysql_userTB_Backup.dump<br />
    <br />
    <br />
    <br />
    // 복구는 어떻게 하는가!!<br />
    . –all-databases 를 사용하여 모든디비백업을 한 경우<br />
    # mysql -u root -p < AllDB_Backup.dump<br />
    <br />
    . 디비 하나만 백업한 경우(디비는 생성되어 있어야 함.)<br />
    # mysql -u root -p mysql < mysql_Backup.dump<br />
    <br />
    . 테이블 백업한 경우(디비는 생성이 되어있어야 함.)<br />
    # mysql -u root -p mysql < mysql_userTB_Backup.dump

0 Shares:
1 comment
Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.