$ mkdir ~/shNote
$ cd ~/shNote
$ vi MySQL_Schedule_Backup.sh
사용자의 기본 디렉터리에 shNote 폴더를 생성한다.
사용자의 기본 디렉터리에서 shNote 폴더로 이동한다.
MySQL_Schedule_Backup.sh이름의 Shell Script 파일을 작성한다.
# 리눅스 현재 시간을 시간 형식에 맞게 출력한다.
DATE=$(date +%Y_%m_%d_%H_%M_%S)
# MySQL의 .sql파일을 백업할 디렉터리 위치를 지정한다.
DB_BACKUP_DIR=/home/ubuntu/MySQL_Backup/
# DATE 변수의 현재 시간을 출력한다.
echo $DATE
# DB_BACKUP_DIR 변수의 작업할 디렉터리를 출력한다.
echo $DB_BACKUP_DIR
# mysqldump 명령어를 이용해 FinalProject 데이터베이스를 .sql 파일로 저장한다.
mysqldump -u root -p!2!4 FinalProject > $DB_BACKUP_DIR"FinalProject_"$DATE.sql
# 백업파일을 저장하는 폴더에서 7일 이전에 생성된 모든 파일을 삭제한다. (하위 디렉터리까지)
find $DB_BACKUP_DIR -ctime +7 -exec rm -f {} \;
파일을 작성한 후 (:wq) 명령어를 사용해 저장 후 빠져나온다.
$ crontab -e
nano 편집기를 이용해 Linux에서 제공하는 crontab에서 스크립트를 자동 실행할 수 있다.
단순히 /etc/bashrc에 쉘 스크립트 파일을 삽입해 실행하는 것보다 안전하다.
0 */1 * * * sh /home/ubuntu/shNote/MySQL_Schedule_Backup.sh
{Ctrl} (+) X > Y > {Enter} 키를 눌러 crontab 작성을 종료한다.