우분투에서 MySQL 자동 백업


12

Mysql daatabase가있는 Ubuntu 서버가 있습니다. 야간에 다른 서버에서이 데이터베이스의 자동 백업을 설정하고 싶습니다 (예 : ovh).

그에 가장 적합한 도구가 무엇인지 모르겠습니다. 누군가 조언이 있다면 ...

미리 감사드립니다.

답변:


29

이 작업을 자동화하는 가장 쉬운 방법은 MySQL Dumps와 cronjob의 조합입니다. 이 주제와 다른 인터넷 사이트에서이 주제에 대한 많은 정보를 찾을 수 있지만 완료를 위해 다음을 수행하십시오.

mysqldump.sh 파일 만들기

여기에는 cron 작업에서 예약 할 mysql dump 명령이 포함됩니다 (사용자 환경, 비밀번호 및 경로를 환경과 일치).

mysqldump -u root -p<mysql_root_password> --all-databases | gzip > /desired/backup/folder/mysqldb_`date +%F`.sql.gz

편집 : 스크립트가 원격 위치에 백업을 저장하도록하려면 해당 장치를 마운트하거나 스크립트에서 마운트 경로를 사용하십시오.

스크립트를 테스트

스크립트에 실행 권한이 있는지 확인하십시오.

chmod +x /path/to/mysqldump.sh

스크립트를 실행하십시오.

sh /path/to/mysqldump.sh

그리고 제대로 작동하는지 테스트하십시오 (백업 파일은 지정된 백업 폴더에 생성됩니다).

새로운 크론 작업 생성 및 예약

명령 프롬프트에서

sudo crontab -e

그리고 파일 맨 아래에 다음 줄을 추가하십시오.

30 23 * * * /path/to/mysqldump.sh

매일 23:30에 스크립트를 실행합니다.

이 간단한 스크립트를 확장

이 간단한 백업 방법을 개선하기 위해 말 그대로 할 수있는 일이 많이 있습니다.

  • 다른 시스템으로 백업
  • 디스크 공간 모니터링
  • 이메일보고
  • ...

그러므로 여기서 끝내고 실험하지 마십시오! :-)

백업 도구 또는 클라우드 기반 백업 서비스 사용

위의 방법이 가장 쉬운 방법 중 하나이며 특정 요구에 맞게 확장 할 수 있지만 다른 대안이 있다고 언급 할 가치가 있습니다.

  • 이메일 알림, 압축, 암호화, 로테이션 및 백업 유형 (예 : 증분)을 쉽게 구성 할 수있는 오픈 소스 응용 프로그램 인 AutoMySQLBackup과 같은 백업 도구 Mai 2018은 APT를 통해 Ubuntu Server에서 사용할 수 있습니다.
  • BackupBird, myRepono, Bitcan 등과 같은 클라우드 기반 백업 서비스는 여러 데이터베이스 서버를 관리하고 모든 백업을 중앙에서 관리하려는 경우 흥미로울 수 있습니다.

위에서 언급 한 솔루션 및 서비스와 관련이 없으며 참조 용으로 만 나열하므로 사용자가 위험을 감수해야합니다.

유용한 링크 / 참조 :

크론-> https://en.wikipedia.org/wiki/Cron

MySQL 덤프-> https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html


4
사용 date +%F-사용자의 로케일에 적합한 year + month + date 조합을 자동으로 선택합니다 (예 :) YYYY-MM-DD.
muru

네, 훨씬 낫습니다. 나는 대답 :-) 편집 할 수 있습니다
에두아르도 로페즈

+1 좋은 답변 : 정확히 여기에 필요한 것은 더 이상 없습니다.
Jos

2
이 작업을 수행하기 위해 sudo를 사용해야하는 경우 (a) 호출 sudo crontab -e하고 스크립트를 실행 가능하게 만드는 것을 잊지 마십시오.chmod +x /path/to/mysqldump.sh
zinon

지논-힌트 주셔서 감사합니다! 나는 대답을 업데이트했다.
Eduardo López
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.