-
[MariaDB] MariaDB sqldump로 배치(Cron) 만들기Database 2023. 1. 26. 09:19
* MariaDB의 백업 방식
: 크게 두가지가 있다. mysqldump, XtraBackup 예제는 mysqldump 방식으로 한다.
* 데이터가 저장된 경로 확인
show variables where Variable_name='datadir';
* 백업 스크립트 작성
: 레플리케이션 구성일 경우 향후 복원을 위해 포지션 정보도 찍어준다. ( --master-data=2 )
> vi mariadb_backup_job.sh #!/bin/sh target='파일명_'$(date +%Y%m%d%H%M%S) /usr/bin/mysqldump -u백업실행할계정 -p패스워드 --master-data=2 백업할디비 > './'$target'.sql' # 백업한 파일 압축 tar cvzf './'$target'.tar.gz' './'$target'.sql' # 백업 파일 이동 보관 mv './'$target'.tar.gz' '/var/mysql/backup/'$target'.tar.gz' # 압축 전 파일 삭제 rm -rf './'$target'.sql' # 백업폴더에서 8일 이상 경과된 파일 삭제 find /var/mysql/backup/ -maxdepth 1 -type f -ctime +6 -exec rm {} \;
* 스크립트 실행 권한 추가 (주의)
: 최초 생성 시 해당 파일은 실행권한이 없으므로 실행 권한을 넣어줘야 한다.
> chmod 755 파일명
* CronJob 등록
: 주기
* * * * * 분(0-59) 시간(0-23) 일(1-31) 월(1-12) 요일(0-7)
> crontab -e # 백업 스크립트 파일 등록 (분 초 일 월 요일) # 예제 > 매일 2시마다 실행 0 2 * * * /etc/cron_script/스크립트파일명.sh
* Cron 서비스 재실행
> systemctl restart crond.service
* Cron 실행 로그 확인
> cat /var/log/cron
* 참고자료
크론탭 사용법 : https://jdm.kr/blog/2
sqldump 옵션 설명 : https://code-factory.tistory.com/21
'Database' 카테고리의 다른 글
[MSSQL] 백업 및 로그 파일 축소 (0) 2023.02.28 [MariaDB] Slow query 수집 (0) 2023.01.27 [MariaDB] Proxy SQL 셋팅 (on Docker) (0) 2023.01.12 [MariaDB] Replication 구성 (on Docker) (0) 2023.01.11 [MariaDB] Mariabackup 백업 & 복구 with Docker Container (0) 2022.11.25