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