Debian
在關機和重啟之前執行簡單的腳本
我需要在關閉或重新啟動執行 Debian 8 的 VPS 之前執行一個腳本,以記錄網路統計資訊。我嘗試將腳本直接添加到
/etc/init.d
and 中並將其符號連結/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
. 每當網路啟動/關閉/重新啟動或系統停止/關閉時,這將為您提供統計資訊。真的不知道這是否是一個好的做法,但是否有效。