Bash

用於檢查 nfs 掛載是否存在的 bash 腳本幫助rsnapshotrsn一個psH○噸rsnapshot

  • September 29, 2021

我有兩台 linux 伺服器;伺服器二是伺服器一的備份,其中伺服器二是安裝到伺服器一的 NFS。

rsnapshot在伺服器一上使用從伺服器二複製/data/nfs 安裝的文件夾/bkup

問題是如果 nfs/bkup掛載不存在,rsnapshot 會將 /data {20tb) 複製到根分區 {1tb}。

我不想讓我的一個呼叫啟動 rsnapshot,我想呼叫一個備份腳本,該腳本首先檢查所有內容,然後再呼叫 rsnaphot 以防止出現這種情況。我不認為 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
      }
   }
}

現在我可以在 server_one 上的 nfs bkup 掛載良好的地方/時間工作

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

我們的 crontab 有一行類似於

if ! mountpoint -q /mnt/beegfs_backup ;then mount /mnt/beegfs_backup;fi && rsnapshot daily

您可以將其調整為您的腳本。

引用自:https://unix.stackexchange.com/questions/671126