-
[공부 - LINUX] LINUX 하루 한번 MySQL DB 백업(Bash, Cron job)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스크립트 만들 예정만 있고 아직 안하고 있습니다;;;;
댓글 : 0 개
user error : Error. B.