Bash

建構 SysV 或 Upstart 兼容的 Bash 腳本的注意事項

  • July 16, 2011

我剛剛編寫了一個快速腳本,用於使用 rsync 使從屬 Web 伺服器與主伺服器保持同步。(https://github.com/simonjgreen/liveFolderSync/blob/master/liveFolderSync.sh

我想讓它在啟動時執行並且可以通過通常的 /etc/init.d/… 或服務命令進行控制,但是這是我一直陷入的領域。我找到了兩個 init.d 腳本和新貴的腳本非常混亂,並且在任何地方都找不到從頭開始的指南。

我想對其進行的唯一控制是啟動/停止/重新啟動。顯然稍後我會將配置移動到 /etc 中的單獨文件中,但這已經在卡片上,因此超出了這個問題的範圍。

任何指針/建議和最佳實踐都會有所幫助。我應該補充一點,我正在 Ubuntu 上執行此操作。

您可以復製文件夾下的現有文件之一/etc/init.d/併對其進行自定義以啟動您的腳本。這些文件通常執行以下操作:

1-檢查一些配置文件和二進製文件的存在。

2-包括一些初始化函式。

3-檢查“action”參數:使用case結構啟動、停止、重新啟動和執行適當的操作。

4- 這些啟動文件開頭的註釋很重要,因為它們描述了它們是如何啟動的以及所需的執行級別。

要使其在系統啟動時執行,您可以使用update-rc.d實用程序。

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