bash 脚本帮助检查 nfs 挂载是否存在

bash 脚本帮助检查 nfs 挂载是否存在

我有两台linux服务器;服务器二是服务器一的备份,其中服务器二通过 NFS 安装到服务器一。

rsnapshot在服务器一上使用复制/data/nfs挂载/bkup来自服务器二的文件夹。

问题是,如果 nfs/bkup挂载不存在,rsnapshot 会将 /data {20tb) 复制到根分区 {1tb} 上。

我不想调用一个调用来启动 rsnapshot,而是调用一个备份脚本,该脚本在调用 rsnapshot 之前首先检查所有内容,以防止出现这种情况。我不认为 rsnapshotno_create_root是相关的,因为该/bkup文件夹将始终存在。 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

您可以根据您的脚本进行调整。

相关内容