본문 바로가기

프로그래밍(TA, AA)/스크립트

[쉘스크립트] crontab 및 mysqldump 실행하여 주기적 DB백업 수행

데이터베이스는 주기적으로 백업하여, 유사시 전일 데이터로 복원할 수 있도록 해야한다.

아래 스크립트는 mysqldump를 실행하여 DB백업 압축파일을 저장하는 쉘스크립트이다.


#!/bin/bash
cd /root/backup/daily/
DATE_YYYYMMDDHHMMSS=`date '+%Y%m%d%H%M%S'`

dailysql=$DATE_YYYYMMDDHHMMSS'_daily.sql'
password='password'

echo "mysql dailysql dump start.."

mysqldump -uroot -p$password --single-transaction databasename > ./$dailysql
echo 'dumpfile : '$dailysql

tar cvzf ./$dailysql'.tar.gz' ./$dailysql
rm ./$dailysql

echo 'compression file : './$dailysql'.tar.gz'
echo "mysql dailysql dump stop.."


위 스크립트를 생성한 후, crontab -e 명령어를 입력 후, 크론잡을 설정할 수 있다.

0 4 * * * /root/backup/db_backup.sh

내가 관리하는 서버에서는 매일 새벽 4시 해당 쉘이 실행되어 DB가 백업되도록 설정하였다.


crontab -l 명령어를 입력하면 현재 설정된 크론잡 리스트를 확인할 수 있다.