[Shell Script] MySQL 테이블 별로 백업 하기
프로그래밍/BASH SHELL2022. 9. 8. 08:17
반응형
쉘스크립트를 이용하여 모든 데이터베이스를 테이블 별로 백업하는 방법 입니다.
파일명은 {DB명}.{테이블명}.sql 형식으로 남게 됩니다.
# vi mysql_backup_by_table.sh
#!/bin/bash today=`date +%Y%m%d` # 백업 디렉토리 mkdir -p /backup/${today} cd /backup/${today} # MySQL root 패스워드 root_pw='12345678' # 1) 모든 DB 백업 list=`echo "show databases;" |mysql -uroot -p"$root_pw"` # 2) 선택한 DB 만 백업 (개행 \n 으로 구분) #list=`echo -e "mysql\nmonitor\nsysdocu"` for db in $list; do table_list=`echo "show tables" |mysql -uroot -p"$root_pw" $db` for table in $table_list; do mysqldump -uroot -p"$root_pw" $db $table > ${db}.${table}.sql #tar cvzf ${db}.${table}.tar.gz ${db}.${table}.sql --remove-files # 압축 보관 및 원본 삭제 done done |
# chmod 700 mysql_backup_by_table.sh
실행
# sh mysql_backup_by_table.sh
반응형
'프로그래밍 > BASH SHELL' 카테고리의 다른 글
[쉘스크립트] 오래된 백업 파일 삭제하기 (0) | 2023.01.13 |
---|---|
쉘스크립트 rsync 실행시 끝에 \#015 문자가 붙는 경우 조치방법 (0) | 2023.01.11 |
쉘스크립트 수 비교하기 (0) | 2021.06.10 |
파일과 현재시간의 timestamp 구하기, 차이 계산하기 (0) | 2021.03.26 |
쉘스크립트에서 특정시간의 전 후 시간 계산 하기 (0) | 2020.11.04 |
댓글()