카테고리 없음2020. 4. 24. 09:55

 

1. DB 백업 스크립트

backup_db_projectname.sh

 

#!/bin/sh

# 백업설정

TODAY=`date +%Y%m%d`

BACKUP_DIR=/root/backup/DB

 

#필요한 디렉토리 생성

if [ ! -d ${BACKUP_DIR} ]

then

mkdir ${BACKUP_DIR}

chmod 700 ${BACKUP_DIR}

fi

 

# DB Root 계정정보

DB_USER="db접속계정"

DB_PW="db접속패스워드"

 

#전체 DB 백업

SQL_FILE="DB_backup_projectname.sql"

mysqldump -u ${DB_USER} -p${DB_PW} 데이터베이스명 > ${BACKUP_DIR}/${TODAY}_${SQL_FILE}

 

# 압축 및 30일 지난파일 삭제

TGZ_FILE="backup_db_projectname.tar.gz"

cd ${BACKUP_DIR}

tar cvfpz ${BACKUP_DIR}/${TODAY}_${TGZ_FILE} ${TODAY}_${SQL_FILE}

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

 

 

 

 

2. Source 백업 스크립트

backup_src_projectname.sh

 

#!/bin/sh

# 백업설정

TODAY=`date +%Y%m%d`

BACKUP_DIR=/root/backup/Source

 

#필요한 디렉토리 생성

if [ ! -d ${BACKUP_DIR} ]

then

mkdir ${BACKUP_DIR}

chmod 700 ${BACKUP_DIR}

fi

 

# 압축 및 30일 지난파일 삭제

TGZ_FILE="backup_src_projectname.tar.gz"

cd ${BACKUP_DIR}

tar cvfpz ${BACKUP_DIR}/${TODAY}_${TGZ_FILE} /var/www/웹소스경로/

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

 

 

3. Crontab Daily Batch

#크론탭 배치 매일 2시, 2시 30분 백업 실행

00 02 * * * /root/backup_db_projectname.sh > /dev/null 2>&1

30 02 * * * /root/backup_src_projectname.sh > /dev/null 2>&1

 

 

 

 

 

Posted by Yohan.Ju