에이블서포터즈 1기

[웹백업] 홈페이지 DB 매일 자동백업하기 (에이블스토어)

프로필

2015. 3. 6. 11:18

이웃추가

에이블스토어 [에이블서포터즈 제1기] 

 프리맥스

 블로그 http://freemax2006.blog.me/

 1) 미션제목

[백업]

홈페이지 DB 매일 자동백업하기

 2) NAS 모델명  AS-6002T, DS1515+
 3) DSM 버전

  DSM5.1-5022

 4) 볼륨구성  단일볼륨
 5) 하드디스크 모델명 및 개수  WD RED 2TB 4ea
 6) 기타 테스트 이용 장비  UPS RS-550
 7) OS 또는 애플리케이션  WIN8.1, ios8
 8) 공유기 모델명 (네트워크 환경)  아이피타임 8004
 9) 기타 참고사항 

 

  

[백업]

  

홈페이지 DB 매일 자동백업하기  



홈페이지 DB를 스크립트를 이용해서 자동으로 매일 특정시간에 백업을 하는걸 배워보겠습니다.


아래 사용한 나스는 아수스토어 나스에서 한것입니다.

시놀로지에서도 똑같이 적용이 됩니다.  



 



우선 나스에 SSH로 접속을 합니다.

나스 아이피와 SSH 포트를 입력해 줍니다.





아이디와 패스워드를 입력합니다.


아이디 : root

패스워드 : 나스 admin 계정 패스워드 입력


위에 화면에서 패스워드 입력시 화면에 아무것도 출력이 안되니 글이 안써진다고 이상해 하지 마시고

그냥 입력하고 엔터키 치시면 됩니다.






다음으로 스크립트를 만들어 볼것입니다.


cd ..

cd ..


 눌러서 나스 시스템 최상위폴더로 갑니다.


그런 다음에 vi /root/mysqlBackup.sh


입력해 줍니다. 그러면 root 폴더에 mysqlBackup.sh 


스크립트파일이 생성이 됩니다.





처음 생성되면 아무것도 표시가 되지를 않습니다.


이때 Insert 키를 눌러서


#!/bin/sh

time=`date +%Y%m%d%H`


mysqldump -u"root" -p"phpMyAdmin 패스워드"  --databases ss3638 > /volume1/Web/DB/ss3638/$time".sql"
mysqldump -u"root" -p"phpMyAdmin 패스워드"  --databases s1 > /volume1/Web/DB/s1/$time".sql"
mysqldump -u"root" -p"phpMyAdmin 패스워드"  --databases guest > /volume1/Web/DB/guest/$time".sql"
mysqldump -u"root" -p"phpMyAdmin 패스워드"  --databases WEBHARD > /volume1/Web/DB/WEBHARD/$time".sql"
mysqldump -u"root" -p"phpMyAdmin 패스워드"  --databases 3380 > /volume1/Web/DB/3380/$time".sql"



위와 같이 스크립트 내용을 입력해 줍니다.

위에 경우 5개의 홈페이지 DB백업 명령어를 주었습니다.

현재 관리하는 홈페이지가 5개여서.. 1개이면 1개에 정보만 입력해 주시면 됩니다.



mysqldump -u"root" -p"phpMyAdmin 패스워드"  --databases 3380 > /volume1/Web/DB/3380/$time".sql"


스크립트내용을 보시면

붉은색 표시된 부분은 본인의 값을 수정을 해 주셔야 됩니다.


위내용을 해석하면


phpMyAdmin 접속을 해서 3380이라는 DB를

나스에 web/DB/3380 폴더에 년도날짜시간.sql 파일을 만들어라는 명령어 입니다.


명령어 만들고 나서  Esc키  :  w q 를 차례대로 눌러서 저장을 합니다.





다음은 크론탭을 등록을 해 줍니다.

크론탭이란 일정시간 마다 원하는 내용을 실행하도록 해 주는 기능입니다.


crontab -e


를 입력합니다.




Insert 키를 눌러서


00 10 * * * /root/mysqlBackup.sh


를 등록해 줍니다.



크론탭에 내용은 매일 오전 10시에  /root/mysqlBackup.sh 파일을 실행하라는 명령어 입니다.






그런 다음에


crontab -l


명령어를 눌러서 에러가 나는지를 확인해 보시기 바랍니다.

에러가 발생되는 부분을 수정해 주셔야 됩니다.







스크립트와 크론탭을 모두 등록이 되었습니다.


이제 테스트를 해 볼 겁니다.


/root/mysqlBackup.sh


명령어를 입력해서 스크립트를 실행해 줍니다.


그러면 스크립트가 작동을 하게 됩니다.



정상적으로 백업이 되었는지 확인을 해 보겠습니다.









web폴더에 DB폴더 DB가 저장될 폴더들을 미리 만들어 두었습니다.








해당 폴더 안에 들어가 보시면 파일이 정상적으로 생성이 된것을 보실수 있습니다.


2015년 3월 6일 오전 10시에 생성된 SQL파일이 보여집니다.


이렇게 스크립트와 크론탭을 만들어 매일 원하는 시간에 DB를 백업을 받을수 있습니다.



이렇게 받은 파일들을


http://cafe.naver.com/synologynas/55009


네트워크백업으로 타 나스로 백업을 하게 해 두면... 만일에 홈페이지가 문제가 되어서..


타 나스에서 홈페이지 구동할수 있게 될것입니다.










프리맥스
프리맥스 상품리뷰

블로그에 오신것을 환영합니다.