백업에 사용할 새 서버가 있습니다. 이 서버에는 gziped
다른 모든 13개 서버의 DB를 저장하고 싶습니다 . 각 서버에서 매 시간마다 백업을 만들어 백업 서버에 저장하는 가장 좋은 방법은 무엇입니까?
서버 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
원하는 사용자로 옵션을 사용하십시오.