해당 경로에 data_backup/db 디렉토리 생성
/home/ec2-user/data_backup/db
sql DB 빽업 스크립트 작성하기
~# vi /bin/db_backup.sh
#!/bin/bash
DATE=$(date +%Y%m%d%H%M%S)
BACKUP_DIR=/data_backup/db/
# 전체 DB를 백업할 경우
mysqldump -u root -p디비패스워드 --all-databases > $BACKUP_DIR"backup_"$DATE.sql
# 특정 DB를 백업할 경우
# mysqldump -u root -p디비패스워드 --databases DB명 > $BACKUP_DIR"backup_"$DATE.sql
find $BACKUP_DIR -ctime +7 -exec rm -f {} \;
# DATE=$(date +%Y%m%d%H%M%S)는 백업할 파일명을
# 202001224505 와 같은 형식으로 저장할 수 있게 날짜를 변수로 담습니다.
# find $BACKUP_DIR -ctime +7 -exec rm -f {} \;
# 여기서 -ctime +7은 7일이 지난 백업 파일을 찾아서 삭제하기 위한 코드입니다.
# 추가로 분 단위로 설정하려고 할 때는 아래와 같이
# -cmin +10 처럼 작성하면 10분이 지난 파일을 찾아서 삭제하게 됩니다.
# find $BACKUP_DIR -cmin +10 -exec rm -f {} \;
스크립트 권한 설정 하기
chmod 755 /bin/db_backup.sh
스케줄링 위해 crontab 설정 하기
~# crontab -e
# 매일 새벽 6시에 백업이 진행됩니다.
00 06 * * * /bin/db_backup.sh
crontab 시간 설정 하는 방법
# 30분 마다 실행
*/30 * * * * /bin/db_backup.sh
# 매주 일요일 새벽 6시에 실행
0 06 * * 0 /bin/db_backup.sh
# 매월 1일 새벽 6시에 실행
0 06 1 * * /bin/db_backup.sh
# 매년 12월 31일 새벽 6시에 실행
0 06 31 12 * /bin/db_backup.sh
[sql] remote: Permission to 2hansoul/googlefile.git denied to 2hansoul.fatal: unable to access (0) | 2022.08.22 |
---|---|
[sql] mariadb/mysql 인설트 시 한국시간 아닐 때 시간 정확하지 않을 때 (0) | 2022.08.19 |
[sql] mariadb 내부 아이피 접속 하기(HeidiSQL) (0) | 2022.07.12 |
[SQL] HeidiSQL 빽업/복구 하기 (2) | 2022.04.19 |
[SQL] error (1366): Incorrect string value: '\xED\x95\x9C\xEC\x86\x94' for column sql 한글 insert 안됨 (0) | 2022.04.14 |
댓글 영역