Ubuntu
編寫偵聽埠並執行操作的 shell 腳本
任何人都可以指導我如何編寫一個不斷偵聽埠的 shell 腳本,當某人/某物向該埠發送 HTTP 請求時,它會以 sudo 的形式執行操作?
我需要從另一台伺服器重新啟動 nginx,並且無法通過 SSH 連接到該伺服器。所以我正在尋找實現這一目標的方法。我的想法是讓伺服器 A 不斷地監聽一個埠,當伺服器 B 發送該埠上的請求時,伺服器 A 重新啟動 nginx。
安全應該不是問題。我將在 Ubuntu 14.0.4 LTS 上編寫 shell 腳本
可以使用
Netcat
偵聽特定埠(在提供的範例中為 12345),然後檢查其輸出以了解接收到的內容,例如:while test 1 # infinite loop do nc -l localhost 12345 > /tmp/12345.log # check for start grep start /tmp/12345.log > /dev/null if test $? -eq 0 then startJob& else # check for stop grep stop /tmp/12345.log > /dev/null if test $? -eq 0 then stopJob& fi fi done
也就是說,擴展基於 Web 的解決方案會更簡單、更容易。