지금까지 백업 과정을 자동화할 수 있도록 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 옵션을 생략했다. 아직 부족한 점이 많으니 추후 더 보완하도록 하자!