Linux

啟動時在後台同步執行?

  • March 15, 2020

我正在執行 Debian 6 64 位。

我要做的是在啟動時執行 Unison 以不斷監視我在 VM 上執行的 LAMP 伺服器上的文件,並將其與 VM Shared 文件夾同步。

while true
do
   unison -batch -owner -group /folder1/ /folder2/
   sleep 10
done

現在,我可以讓這個腳本在啟動時執行……但問題是它掛起。即使我使用 nohup,它也會掛在 nohup 對話框中。

此外,如果有一種方法可以使用 nohup,我真的寧願它根本不記錄任何內容。但是,我在 nohup 或 unison 文件中都找不到此選項。我可能會忽略它,但我找不到它。

我確信有一種方法可以將 Apache 連結到另一個文件夾並使用它……但我仍然想知道如何做到這一點,因為我也可以在不同的上下文中使用它。

謝謝

為什麼不首先將 Apache 指向 VM 上的共享文件夾?這就像為您的虛擬主機添加/更改一個文件一樣簡單(我相信您已經這樣做了)。這將使您在更新伺服器文件根目錄時無需等待 5-10 秒。

但是,您實際要求的是定期執行某些命令,因此最後您只需要一個 cron 作業。這個答案可能對你有幫助

因此,您只需添加到您的 crontab 文件中:

* * * * * unison -batch -owner -group /folder1/ /folder2/ >/dev/null 2>&1
* * * * * sleep 10; unison -batch -owner -group /folder1/ /folder2/ >/dev/null 2>&1
* * * * * sleep 20; unison -batch -owner -group /folder1/ /folder2/ >/dev/null 2>&1
* * * * * sleep 30; unison -batch -owner -group /folder1/ /folder2/ >/dev/null 2>&1
* * * * * sleep 40; unison -batch -owner -group /folder1/ /folder2/ >/dev/null 2>&1
* * * * * sleep 50; unison -batch -owner -group /folder1/ /folder2/ >/dev/null 2>&1

重定向標準輸出和標準錯誤輸出的>/dev/null 2>&1方法,即刪除所有日誌記錄。

引用自:https://serverfault.com/questions/382042