더북(TheBook)

지금까지 백업 과정을 자동화할 수 있도록 mysqldump로 데이터베이스를 백업하는 셸 스크립트를 만들어 보자. 먼저 사용자 계정 정보를 매번 입력하지 않아도 mysqldump 명령을 실행할 수 있게 mysql 설정 파일인 my.cf 파일을 생성한다.

administrator@vm01:~$ vi ~/.my.cf

mysqldump 항목으로 데이터베이스 사용자 계정 정보를 지정해 두면 mysqldump 명령을 실행할 때 패스워드 입력 과정을 생략한다.

[mysqldump]
user = master
password = ppassword

셸 스크립트를 작성한다.

administrator@vm01:~$ sudo vi /usr/local/bin/mysqlbackup

스크립트 내용 자체는 간단하다. 옵션을 입력하지 않으면 사용자에게 사용법을 보여 준다. 정상적으로 옵션이 입력되었으면 위치 매개변수 $1 값을 dbname으로, 위치 매개변수 $2 값을 username으로 저장한다. 백업 디렉터리 경로와 백업 파일을 지정한다. 백업 파일을 구분하려고 파일 이름에 날짜 정보를 덧붙였다. 백업 디렉터리에 같은 이름의 백업 파일이 있으면 삭제한다. 입력받은 값을 바탕으로 mysqldump 명령을 실행하고 백업 파일을 생성한다. 패스워드 인증 절차를 건너뛰도록 -p 옵션을 생략했다. 아직 부족한 점이 많으니 추후 더 보완하도록 하자!

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.