라즈베리에 DB 와 Python 을 설치하여 크롤링 데몬을 돌리고 있습니다.
DB 백업은 정기적으로 하고 있었는데 , 백업 파일을 동일 머신에 놓았더니 이번에 장애로 디스크가 날라 갔네요.
그래서, DB 백업 -> 압축 -> 별도 서버로 전송(Raspberry_02) 로 전송하는 스크립트로 수정 하였습니다.
> 동작
오늘 날짜 폴더 생성 -> DB Backup -> 오래된 백업 폴더 삭제 -> 당일자 백업폴더 압축 -> 별도 서버에 전달 -> 압축파일 삭제 -> 별도 서버에서 4일전 압축파일 삭제
저는 crontab 에서 하루에 한번씩 호출 하도록 설정해 놓았습니다.
> 본문
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #!/bin/bash #Mysql DB Backup Script # 오늘 nowdate=$(date +"%Y%m%d") echo $nowdate # 현재 시간 nowtime=$(date +"%H%M%S") # 4일전 beforeday=$(date +"%Y%m%d" -d '-4days') echo $beforeday #오늘날짜 폴더 생성 mkdir /home/pi/DB_Backup/$nowdate #DB_LOTTO 백업 mysqldump -uroot -p[password] --routines DB_AUCTION > /home/pi/DB_Backup/$nowdate/DB_AUCTION_"$nowdate"_"$nowtime".bak mysqldump -uroot -p[password] --routines DB_FINANCE > /home/pi/DB_Backup/$nowdate/DB_FINANCE_"$nowdate"_"$nowtime".bak #4일전 날짜의 백업 폴더 삭제 rm -rf /home/pi/DB_Backup/$beforeday #오늘 날짜 백업 폴더를 압축 tar cfvzP /home/pi/DB_Backup/"$nowdate"_DB_BackupFile.tgz /home/pi/DB_Backup/$nowdate/ #압축 파일을 라즈베리2에 전달 scp -P 922 /home/pi/DB_Backup/"$nowdate"_DB_BackupFile.tgz a209@192.168.0.10:/home/a209/DB_Backup #압축 파일 삭제 rm -f /home/pi/DB_Backup/"$nowdate"_DB_BackupFile.tgz #Raspberry-02 에서 4일전 압축 파일을 삭제할 것 ssh -p922 a209@192.168.0.10 "rm -f /home/a209/DB_Backup/$beforeday*.tgz" | cs |
> 스크립트 파일 : script_db_backup 2.sh
> 질문이나 의견 있으시면 댓글로 부탁 드립니다.
'Database & Data > MYSQL' 카테고리의 다른 글
MySQL 복원 (0) | 2020.02.22 |
---|---|
조회 결과를 CSV 파일로 출력 (0) | 2017.12.30 |
[MySQL] 트리구조 탐색 쿼리 - 모든 부모 node 탐색 (3) | 2016.05.09 |
[MySQL] mysqldump 스크립트 자동화시 계정에 관한 경고 처리 (0) | 2016.03.31 |
[MySQL] binary log 파일 변환 및 오류 해결 (0) | 2016.03.25 |