自動掛載臨時離線的網路共享

自動掛載臨時離線的網路共享

以下問題: 我有一台伺服器需要安裝 Windows 網路共用才能在其上複製檔案。所以我在 中添加了共享,fstab以便在啟動時安裝它。

 //192.168.1.xx/share   /mnt/networkshare   cifs    noperm,username=user,password=******    0   0

腳本循環複製共享上的文件,如下所示:

while [ true ]
  do
    if [ -f /path/to/the/file ]
    then
      mv /path/to/the/file /mnt/networkshare
    fi
done

問題是,Windows 電腦在早上啟動時晚上會關閉。首先,在此期間,由於 while [true] 腳本,伺服器上的負載在一個核心上為 100%。其次,有時Windows電腦啟動後掛載不再運作。 (運行 crontab* * * * * mount -a再次掛載所有檔案)檔案不會被複製,並且在伺服器上無法存取掛載。需要重新啟動。

如何確保電腦開啟時安裝座始終在那裡。我是否需要以某種方式卸載共享?我可以每天晚上卸載它,但是如果 Windows 電腦在白天重新啟動怎麼辦?如果晚上沒有掛載以降低 CPU 負載,我該如何暫停 while [true] 腳本?

感謝您的幫忙!

答案1

您可以在嘗試移動之前檢查安裝:

df | grep "/mnt/networkshare" |grep -v grep >/dev/null; r=${?}
if [ ${r} -eq 0 ]
then
  mv /path/to/the/file /mnt/networkshare
fi

sleep此外,在進程中新增命令可能會緩解 100% CPU 使用率問題。不間斷地錘鍊一個流程並不是一個好方法。

相關內容