nfs 마운트가 있는지 확인하는 데 도움이 되는 bash 스크립트 [rsnapshot]

nfs 마운트가 있는지 확인하는 데 도움이 되는 bash 스크립트 [rsnapshot]

두 개의 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

스크립트에 따라 조정할 수 있습니다.

관련 정보