두 개의 Linux 서버가 있습니다. 서버 2는 서버 1의 백업이고 서버 2는 NFS를 통해 서버 1에 설치됩니다.
복사 하기 rsnapshot
위해 서버 1에서 사용하고 있습니다 ./data/
nfs 마운트/bkup
서버 2의 폴더입니다.
문제는 nfs /bkup
마운트가 없으면 rsnapshot이 /data {20tb)를 루트 파티션 {1tb}에 복사한다는 것입니다.
rsnapshot을 시작하기 위해 호출하는 대신, 이를 방지하기 위해 rsnapshot을 호출하기 전에 먼저 모든 것을 확인하는 백업 스크립트를 만들고 싶습니다. no_create_root
해당 /bkup
폴더는 항상 존재하므로 rsnapshot은 관련성이 없다고 생각합니다 . bash 스크립트에서 다음이 발생합니까? 누군가가 bash에 능숙하고 이것을 2분 안에 입력할 수 있기를 바랍니다. 내 bash 글쓰기는 끔찍합니다.
if ( showmount -e server_two responds with "/bkup server_two" )
{
if ( check if /bkup is nfs mounted == true )
{
/usr/bin/rsnapshot daily
}
else
{
mount /bkup
if ( check if /bkup is nfs mounted === true )
{
/usr/bin/rsnapshot daily
}
}
}
이제 nfs bkup 설치가 server_one에서 제대로 실행되는 위치/시간에 작업할 수 있습니다.
mount | grep bkup
server_two:/bkup on /bkup type nfs4
(rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.2,local_lock=none,addr=192.168.1.1)
df -h | grep bkup
server_two:/bkup 15T 3.0T 12T 21% /bkup
showmount -e server_two
Export list for server_two:
/bkup server_one
답변1
우리의 crontab에는 다음과 비슷한 줄이 있습니다.
if ! mountpoint -q /mnt/beegfs_backup ;then mount /mnt/beegfs_backup;fi && rsnapshot daily
스크립트에 따라 조정할 수 있습니다.