이상한 MYPI

이상한
접속 : 6450   Lv. 110

Category

Profile

Counter

  • 오늘 : 335 명
  • 전체 : 8001726 명
  • Mypi Ver. 0.3.1 β
[공부 - LINUX] LINUX 하루 한번 MySQL DB 백업(Bash, Cron job) (0) 2016/04/09 AM 05:04

MySQL로 부터 DB를 파일(확장자 SQL)로 백업 하는 방법은..

mysqldump [DB명] > [백업디렉토리]/[백업파일명].sql

이 됩니다...

사실 당연 로그인 정보가 필요하지만...

지금 사용중인 유저의 홈 디렉토리에(~)

[.my.cnf] (리눅스에서 파일명 앞에 "." 붙이면 숨김파일이 됩니다)

파일을 생성 내용으로...

-------------------------------
[client]
user = [MYSQL ID]
password = "[MYSQL PASSWORD]"
host = [MYSQL HOST IP] (localhost 등)
------------------------------------

을 입력해두면 MYSQL 백업시 로그인 유저 정보를 스킵 가능합니다...

매일 정기적으로 백업하기 위해서는 파일명이나 백업 장소가 일치하면 의미가 없기에

간단한 Bash스크립트로 매일 파일 명을 바꾸주는 스크립트 파일을 만듭니다.

--------------------------------(예)
#!/bin/bash
timestamp=$(date +"%Y%m%d%H%M")
/usr/bin/mysqldump ttrss > ~/TT_RSS_${timestamp}.sql
----------------------------------

이렇게 작성하면 현 날짜와 시간으로 파일명을 만듭니다...



다음은 이 스크립트를 매일 원하는 시간에 자동 실행 하는 방법인데

여기선 Cron Job을 사용합니다...

커맨드로 적기 귀찮아서 전에 설명한 WEBMIN을 사용합니다..



아무튼 WEBMIN의

System->Scheduled Cron Jobs

에 첨부 사진처럼 설정하면 매일 새벽 3시에 파일의 백업을 진행합니다...

응용하면 분단위로 할 수도 있고 하루에 여러번도 가능합니다..



이런 식으로 간편하게 매일 DB를 백업할 수 있습니다.



사실 복구할 때 백업한 DB는 최근 1개만 있으면 되는 거라..

최신 파일 빼고 지우는 Bash스크립트 만들 예정만 있고 아직 안하고 있습니다;;;;

신고

 
X