如果 USB 備份磁碟機輪換不夠頻繁,如何自動發送警告電子郵件?

如果 USB 備份磁碟機輪換不夠頻繁,如何自動發送警告電子郵件?

我們的異地備份系統依賴工作人員每週更換連接到檔案伺服器的 USB 隨身碟。

然後,無論連接哪個驅動器,都會使用執行 Robocopy 的預定批次檔與伺服器上的資料分割區同步(每晚 10 點)。 USB 隨身碟本身均使用 Truecrypt 進行加密,以在其中任何一個遺失或被盜時保護我們的組織。

我們的備份系統中的弱點(依賴人)是負責每週輪換驅動器的工作人員。有時,他不僅忘記按要求每週這樣做,而且忘記了一個多月。

我已經設定了日誌記錄,這使我可以追蹤驅動器何時旋轉,這要歸功於我之前問題的答案這裡。因此,我們已經有了一個日誌文件,用於追蹤任意一天連接的驅動器。

我現在想要做的是,如果備份計劃錯過了兩週或更長時間,則自動從伺服器(SBS 2003)向負責輪換驅動器的用戶、用戶的老闆和我自己(系統管理員)發送一封電子郵件。伺服器上目前未安裝 Outlook 2010,但如果需要,可以安裝。

追蹤連線的備份磁碟機的日誌中的資料採用以下格式:

Volume in drive V is BACKUP 1
Sat 05/10/2014 
22:00:00.77 

Volume in drive V is BACKUP 1
Sun 05/11/2014 
22:00:00.44 

Volume in drive V is BACKUP 1
Mon 05/12/2014 
22:00:00.39 

Volume in drive V is BACKUP 1
Tue 05/13/2014 
22:00:01.50 

如果相同的備份 USB 隨身碟編號在日誌檔案底部連續出現一定次數,有誰知道如何自動傳送警告電子郵件?例如,14 次或更多(因為這表示使用者本應執行的每週驅動器輪換現在已逾期整整一周)。

任何想法將不勝感激!

答案1

這會起作用。您必須在 if 條件內新增用於傳送電子郵件的程式碼,並將 LOGFILE 變更為您的日誌檔案路徑:

#!/bin/bash

LOGFILE="logtest"
COUNT=`tail -n16 $LOGFILE | grep "Volume in" | uniq -c | cut -c0-7 | tail -n1`

echo "Last tape repeated $((COUNT)) times"

if [ $COUNT -gt 3 ]; then
  echo "Sending email..."
  mutt -s"FATAL: Missing tape rotation" [email protected] < /dev/null
fi

相關內容