메뉴 건너뛰기

Karma's Place

로그인하지 않고 댓글을 달 수 있습니다. 하지만 본사이트의 취지에 맞지않는 댓글은 예고없이 삭제될 수 있습니다.
조회 수 33 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄

평소에 백업을 중요시 생각하고 항상 신경쓰고 있는 대목이기는 하다.

https://soonj.net/blog/370432

하지만 이딴 황당한 경험까지 하고 나니 그 중요성을 새삼 느끼게된다.

 

생각난김에 개인적으로 백업하고 있는 방법들을 소개해보겠다.

알고보면 인터넷에 널려있는 자료를 재방송하는 것일 수도 있다. 하지만... 그래도 셋트로..

 

그 첫번째는 데이터베이스, 물론 mysql이다.

sudo vi /etc/cron.daily/dbbackup.sh

###################################################################################
# MySQL/MariaDB backup script
# Justin Silver
# http://www.justinsilver.com
#
# Use cron to schedule this script to run as frequently as you want.
###################################################################################

# User with SELECT, SHOW VIEW, EVENT, and TRIGGER, or... root
USERNAME="DB사용자아이디"
PASSWORD="DB비밀번호"

# Archive path
ARCHIVE_PATH="/var/적당한 폴더/daily"  #<- weekly, monthly로 변경가능

# Archive filename
ARCHIVE_FILE="DB_`date +%F_%H-%M-%S`.tbz2" ##여러개의 서버를 사용하는 사람은  prefix를 다르게 하면 관리가 용이하다.

# Archives older than this will be deleted
ARCHIVE_DAYS="3" ##3일간만 보관 3일 이전의 것들은 자동으로 삭제된다. 주간 백업 22일, 월간백업은 93일정도면 3개씩 남는다.

# Change working directory
cd $ARCHIVE_PATH

# Get all of the databases
for database in `mysql -u $USERNAME -p"$PASSWORD" -Bse 'show databases'`; do

        # Skip ones we don't want to back up
        if [ "performance_schema" == "$database" ]; then continue; fi
        if [ "information_schema" == "$database" ]; then continue; fi

        # Use Nice to dump the database
        nice mysqldump -u $USERNAME -p"$PASSWORD" --events $database > $database.sql

done

# Use Nice to create a tar compressed with bzip2
nice tar -cjf $ARCHIVE_FILE *.sql

# Remove the SQL files
nice rm -rf *.sql

# Remove old archive files
nice find . -mtime +$ARCHIVE_DAYS -exec rm {} \;
 

 

퍼미션을 맞춰야 실행이 가능하다.

sudo chmod 755 /etc/cron.daily/dbbackup.sh

 

sudo /etc/cron.daily/dbbackup.sh

실행하고 해당 폴더에 보면 데이터베이스가 날짜와 시간을 화일명으로 tbz2로 압축되어 저장된다.

DB_2023-04-25_14-59-44.tbz2  DB_2023-04-26_03-16-56.tbz2  DB_2023-04-27_03-21-04.tbz2

 

해당 압축을 풀때는

tar -jxf DB_2023-04-27_03-21-04.tbz2

 

/etc/cron.weekly와 /etc/cron.monthly에도 하나씩 만들어주면 더 좋다.

물론 이때 수정은 필수..

 

?

List of Articles
번호 분류 제목 날짜 조회 수
53 Rhymix & XE Imagick을 짝사랑?? 2023.07.05 113
52 기타등등 Galkuri class의 SSL 대응 2023.05.19 110
51 서버 인터넷 PHP 8.0에 Geoip 설치하기 file 2023.05.04 138
50 기타등등 카르마의 4중 백업 : 리눅스서버와 윈도우 PC간의 교차백업 file 2023.04.27 136
49 기타등등 카르마의 4중 백업 : lsyncd를 이용한 동기화 2023.04.27 344
48 기타등등 카르마의 4중 백업 : rsync를 이용한 원격백업 2023.04.27 55
» 기타등등 카르마의 4중 백업 : 데이터베이스 백업 스크립트 2023.04.27 33
46 서버 인터넷 가정이나 사무실의 홈서버를 위한 공유기 세팅 file 2023.04.20 83
45 서버 인터넷 록키 리눅스 9.1에서 apache, mysql, PHP 설치 file 2023.04.06 165
44 기타등등 인터넷 장애와 Dual Wan file 2021.10.25 1187
43 서버 인터넷 노트북서버의 장점 1 file 2021.09.27 1310
42 서버 인터넷 노트북 서버 뚜껑을 닫고 사용하자. file 2021.09.23 280
41 기타등등 셔플 file 2021.09.14 198
40 Rhymix & XE 로그인 모달창에서 recaptcha 사용하기 file 2021.09.12 799
39 Rhymix & XE 로그인시 reCAPTCHA 사용하기 file 2021.09.12 446
38 애드온 및 모듈 제작 이미지프로세스 모듈 사용법 1 file 2019.03.25 4856
37 서버 인터넷 Centos PHP5.6에 imagick 설치하기 file 2019.03.23 882
36 기타등등 사진속 GPS 정보의 위험성 2019.03.11 636
35 기타등등 미디어플레이어 애드온 사용법 file 2019.03.11 721
34 서버 인터넷 Github 사용법이 좀처럼 익숙해지지 않네요. file 2018.12.27 1205
계속 검색
Board Pagination Prev 1 2 3 Next
/ 3
위로