SQL/MY-SQL

시놀로지 MariaDB 자동백업 후 FTP 전송 shell 파일작성

황금니 2023. 9. 13. 22:32

목적 mariadb 백업파일로 7일간 파일로 저장후 순차적으로 삭제한다.

backup.sh 파일로 저장

==============================

# 백업설정
TODAY=`date +%Y%m%d`
DELETE_DATE=`date -d "-7 days" +%Y%m%d`
BACKUP_DIR=/volume1/backup/백업폴더/db
#LOG_DIR=/volume1/backup/백업폴더/log
#필요한 디렉토리 생성
if [ ! -d ${BACKUP_DIR} ]
then
    mkdir ${BACKUP_DIR}
    chmod 700 ${BACKUP_DIR}
fi
 
# DB Root 계정정보
DB_USER="DB계정"
DB_PW="DB계정 비밀번호"
 
#특정 DB 백업
SQL_FILE="DBbackup.sql"
mysqldump -u ${DB_USER} -p${DB_PW} -h 192.168.000.00 DB명 > ${BACKUP_DIR}/${TODAY}_${SQL_FILE}

# 백업서버 FTP 계정정보
FTP_HOST="FTP IP"
FTP_USER="FTP 계정"
FTP_PW="FTP 패스워드"

# FTP 연결 및 업로드

lftp -u ${FTP_USER},${FTP_PW} ${FTP_HOST} <<EOF
 set ftp:ssl-allow no  # SSL을 사용하지 않음 (필요에 따라 설정)       
 lcd ${BACKUP_DIR}
 rm -f ./${DELETE_DATE}_${SQL_FILE}
 mput ${TODAY}_${SQL_FILE}
 bye
EOF

# 로컬 7일 이전 날짜 삭제
rm -f ${BACKUP_DIR}/${DELETE_DATE}_${SQL_FILE}