Linux 시스템에서 mysql 데이터베이스의 매일 자동 백업을 구현하는 방법

1. 디스크 공간을 확인하고 백업 경로를 선택하세요

df -h 

여기에 이미지 설명을 삽입하세요.
집 공간은 매우 충분합니다.
2. 새 백업 디렉터리 생성

cd /home 
mkdir backup
cd backup

3. 백업 쉘 스크립트를 생성합니다.
생성된 파일 XXX는 데이터베이스 이름으로 지정할 수 있습니다.

vi   backupXXX.sh 

sh 파일에서 다음 내용을 편집합니다(전체 내보내기): 백업 파일을 SQL 파일로 내보내기

mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql

압축 파일로 내보낸 경우 다음 내용으로 편집합니다.

mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz

4. 결국 디스크 공간은 제한되어 있으므로 이전에 백업한 파일을 삭제하고 최신 백업을 유지할 수 있습니다.

#删除7天之前的备份
find /home/backup -name "eco*.sql.gz" -type f -mtime +7 -exec rm -rf {
    
    } \; > /dev/null 2>&l

#删除5分钟之前的备份
find /home/backup -name "eco*.sql.gz" -type f -mmin +5 -exec rm -rf {
    
    } \; > /dev/null 2>&l

5. 저장 후 종료

先Esc键,:wq保存退出编辑

6. 실행 권한 추가

chmod u+x backupXXX.sh

7. 스크립트 실행

./backupXXX.sh

8. 경고가 뜹니다 : 많은 자료에서 이 경고가 나오면 백업이 실패한다고 하는데 실패는 없습니다 파일 백업은 성공한 것입니다
여기에 이미지 설명을 삽입하세요.
9. 예약된 작업을 추가
하고 명령을 실행합니다

crontab -e

오류 메시지가 나오지 않는다면 crontab이 설치된 것이므로 오류가 발생하면 직접 설치하시기 바랍니다
.

*/1 * * * * /home/backup/backupXXX.sh

1분마다 쉘 스크립트를 실행하여 파일을 백업합니다.

10. 백업 디렉터리로 이동하면 새로운 백업 파일이 생성되었는지 확인할 수 있으며,
작업 로그도 확인할 수 있습니다.

tail -f /var/log/cron

최종 구성:

mysqldump -uroot -pong!8 ec | gzip > /home/backup/ec_$(date +%Y%m%d_%H%M%S).sql.gz
find /home/backup -name "ec*.sql.gz" -type f -mtime +30 -exec rm -rf {
    
    } \; > /dev/null 2>&1

추천

출처blog.csdn.net/FORLOVEHUAN/article/details/107507863