啟用

原始碼 首頁

預設啟用

由 CoreDNS 維護

on - 當觸發特定事件時執行命令。

描述

on 會在觸發指定事件時執行命令。這對於準備服務網站非常有用,例如在伺服器啟動時執行腳本或啟動背景程序,或在伺服器退出時停止它們。

每個執行的命令都是阻塞式的,除非您在命令後加上一個空格和 &,這將使命令在背景執行。(當伺服器退出時不要這樣做,否則命令可能在其父程序退出之前無法完成。)命令的輸出和錯誤分別會傳送到標準輸出和標準錯誤。沒有標準輸入。

一個命令在 Corefile 中每次出現只會執行一次。換句話說,即使這個指令被多個區域共享,一個命令在 Corefile 中每次出現也只會執行一次。

請注意,如果 CoreDNS 被強制終止,例如使用作業系統提供的「強制結束」功能,則排定在關機事件執行的命令將不會執行。但是,典型的 SIGINT(Ctrl+C)將允許執行關機命令。

語法

on EVENT COMMAND

EVENT 是要執行 COMMAND事件名稱(請參閱下面的列表)。COMMAND 是要執行的命令;它可以後面跟著參數。

事件

命令可以在以下事件觸發時執行

  • startup - 伺服器實例正在啟動或正在啟動
  • shutdown - 伺服器實例正在關閉(而不是重新啟動)

範例

在伺服器開始監聽之前啟動 php-fpm

on startup /etc/init.d/php-fpm start

當伺服器退出時停止 php-fpm

on shutdown /etc/init.d/php-fpm stop

在 Windows 上,當命令路徑包含空格時,您可能需要使用引號

on startup "\"C:\Program Files\PHP\v7.0\php-cgi.exe\" -b 127.0.0.1:9123" &