mysql 자동 백업 스크립트 backup script for Ubuntu 16.04

mysql 데이터 백업 스크립트를 만들고 확인 하지 않은 채 잘 되겠거니 하고 백업 파일을 확인해보니 엉뚱하게 mysqldump 의 옵션 설명만 들어가 있었다.
I made mysql backup script without double check, It was explaination about the options not a backups

Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS] For more options, use mysqldump --help

확인해 보니 mysql 에서 -p 옵션 뒤에 띄어 쓰기 때문에 옵션 파라미터를 인식 하지 못한 것이다. $mysql -u user -p 명령어로 로그인 할때 -u뒤에는 띄어 쓰기 해도 상관 없으면서 -p 뒤에는 왜 띄어 쓰기가 안되는지 모르겠다. 그래서 아래 처럼 변경 하였다.
The parameters were not recognized because it was not writing blank space in mysql after the '-p' option. So i changed a script like that

mysqldump -u root -p$PASSWD --all-databases  > $BACKUP_DIR"backup_"$DATE.sql

변경된 스크립트
changed script
nawan@sptechlab:/data/backup$ sudo vim mysql
#!/bin/bash
DATE=$(date +%Y%m%d)
BACKUP_DIR=/data/backup/sql/
PASSWD="password"
mysqldump -u root -p$PASSWD --all-databases  > $BACKUP_DIR"backup_"$DATE.sql

find $BACKUP_DIR -ctime +15 -exec rm -f {} \;

실행 권한 변경
nawan@sptechlab:/data/backup$ sudo chmod 755 mysql

크론 등록
register in cron
nawan@sptechlab:/data/backup$ cd /etc/cron.daily 
nawan@sptechlab:/etc/cron.daily$ sudo ln -s /data/backup/mysql ./

이제 매일 하루에 한번 씩 백업이 될 것 이다.
Now, It gonna backup your mysql database everyday

댓글

가장 많이 본 글