Linux
[centOS] anacron 을 통해 웹소스&DB 백업 및 FTP로 원격 서버에 백업파일 저장
- 2022.06.07 10:43:07
centos에서 웹사이트를 운영중인 경우 anacron을 통해 웹소스 파일과 DB를 백업 및 압축파일로 저장한 뒤 원격 서버로 FTP 접속을 통해 저장한다. (FTP 원격 저장을 위해 ncftp 가 필요하다.) # vi /etc/cron.daily/backup.sh
위와 같이 cron.daily 경로 내에 backup.sh 스크립트 파일을 생성한다. cron.daily 폴더에 파일을 저장하는 경우 cron (anacron)이 매일 정해진 시간에 폴더내 스크립트 파일을 자동실행 하게 된다. W_DATE=`date`
#백업날짜 BACKUP_DATE=`date +"%Y%m%d"` #백업파일을 저장할 경로 DIR=/home/_backup /bin/mkdir ${DIR}/${BACKUP_DATE} BACKUP_DIR=${DIR}/${BACKUP_DATE} #MariaDB 백업 /usr/bin/mysqldump -u[ROOT_ID] -p[ROOT_PWSSWORD] [백업할DB명] > ${BACKUP_DIR}/[백업될파일명]_${BACKUP_DATE}.sql #웹소스백업 tar zcvf ${BACKUP_DIR}/[백업될파일명]_${BACKUP_DATE}.tar.gz /home/[백업할사용자] --exclude=/home/[백업할사용자]/WEB-INF #소유주 및 권한변경(타 계정의 접근 차단용) chown -R backup.backup ${BACKUP_DIR} chmod -R 707 ${BACKUP_DIR} # 오래된 백업데이터 삭제(3일 이상 된 것) find "${DIR}/" -mtime +3 -exec rm -rf '{}' \; # 파일의 원격 FTP 백업 ncftpput -R -u [원격지FTP사용자 ID] -p [원격지FTP사용자 PW] -P 21 [원격지FTP 주소] /ServerBackup/ ${BACKUP_DIR}/ exit 0 |