백업에 사용할 새 서버가 있습니다. 이 서버에는 다른 13개 서버의 데이터베이스를 모두 저장하고 싶습니다 gziped
. 각 서버에서 매시간 백업을 수행하여 백업 서버에 저장하는 가장 좋은 방법은 무엇입니까?
서버 SO Linux Centos
13개 서버 모두 WHM/Cpanel
백업이 있음 서버만 Centos 7.7(제어판 없음)
cpanel은 시간별 백업을 허용하지 않기 때문에 백업에 cpanel을 사용할 수 없습니다.
답변1
rsync
를 사용하여 이를 달성 할 수 있습니다 cron
.
각 서버에 backup.sh 파일을 작성하고 다음 행을 사용하십시오.
#!/bin/bash
mysqldump > /etc/backups/mysqldump.sql
rsync /etc/backups/mysqldump.sql -e ssh <username>@<ip-address-of-backup-server>:/<path-to your-backup-folder>/<server-name>/"$(date "+%Y-%m-%d-%H")"-backup.sql
확인해보세요MySQL 문서덤프 옵션의 경우(또는 선호하는 데이터베이스 덤프 방법 사용) <server-name>
백업이 있는 서버에 대한 일종의 식별자여야 합니다.
에 파일을 넣으세요 /etc/cron.hourly
. 다른 시간을 원할 경우 다른 /etc/cron.*
폴더를 확인하거나크론탭 생성기그리고 명령을 사용하십시오 crontab -e
.
/etc/backups
(또는 그에 상응하는 것)이 존재하는지 확인하거나 생성하십시오( mkdir
).
몇 가지 일반적인 질문:
rsync
백업 서버 및/또는 제한된 권한을 가진 별도의 사용자에 연결할 수 있도록 각 서버에 SSH 키를 설정해야 합니다 . 어떤 종류의 보안을 찾고 있는지에 따라 다릅니다.스크립트가 실행 가능한지 확인하십시오
backup.sh
.폴더
backup.sh
에 넣으면/etc/cron.*
루트 권한으로 실행됩니다. 어떤 이유로 이 작업을 수행하지 않으려면crontab -e
원하는 사용자에 따라 옵션을 사용하십시오.