Debian

在關機和重啟之前執行簡單的腳本

  • March 18, 2019

我需要在關閉或重新啟動執行 Debian 8 的 VPS 之前執行一個腳本,以記錄網路統計資訊。我嘗試將腳本直接添加到/etc/init.dand 中並將其符號連結/etc/rc0.d/etc/rc6.d並將 LSB 標頭添加到其中,使其像一個實際的帶有啟動和停止的服務並使用 update-rc.d 生成符號連結,但沒有任何效果,似乎腳本根本沒有執行。也許它可能與它是一個 VPS 有關,所以它沒有當系統明顯關閉或重新啟動時被系統辨識。

我只需要一個簡單的機制,而無需創建適當的服務。另外我想知道哪種方法可以更好地檢查腳本是否實際正在執行,一些簡單的日誌記錄方法。腳本就是這樣的:

RESULT=$(bc <<< "scale =2;($(cat /sys/class/net/venet0/statistics/rx_bytes)/1024/1024/1024)+($(cat /sys/class/net/venet0/statistics/tx_bytes)/1024/1024/1024)+($(cat /root/bw))")
echo $RESULT > /root/bw

這對我有用/etc/systemd/system/netstat.service

[單元]
描述=關閉時保存介面統計資訊

[服務]
類型=oneshot
RemainAfterExit=是
ExecStart=/bin/true
ExecStop=/bin/sh -c '{ 日期; ip -s 連結;} >>/root/ipstat.log'

[安裝]
WantedBy=多使用者.target

啟用它systemctl enable netstat。這不會為您提供精確的統計數據,因為網路介面在關機期間仍然可以使用,但這對您來說可能是可以接受的。

好吧,我通過從/etc/rc.d/init.d/network. 每當網路啟動/關閉/重新啟動或系統停止/關閉時,這將為您提供統計資訊。

真的不知道這是否是一個好的做法,但是否有效。

引用自:https://unix.stackexchange.com/questions/228102