Debian 8を実行しているVPSを終了または再起動する前に、ネットワーク統計を記録するスクリプトを実行する必要があります。スクリプトを直接追加し、シンボリックリンクを掛け、/etc/init.d
LSBヘッダを追加して実際の起動サービスと停止サービスのように動作させ、update-rc.dを使用してシンボリックリンクを生成しようとしましたが、何も機能しませんでした。スクリプトではないようです。まったく施行。おそらくVPSに関連している可能性があるため、システムのシャットダウンまたは再起動時にシステムは認識されません。/etc/rc0.d
/etc/rc6.d
適切なサービスを作成するのではなく、簡単なメカニズムが必要です。また、スクリプトが実際に実行されているかどうかを確認するより良い方法、つまり簡単なロギング方法が何であるかを知りたいです。スクリプトは次のとおりです。
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
答え1
これは私にとって効果的です/etc/systemd/system/netstat.service
。
[単位] Description=終了時のインターフェース統計の保存 [提供する] 種類=使い捨て 終了後に保持=はい ExecStart=/bin/true ExecStop=/bin/sh -c '{ date ip -s link } >>/root/ipstat.log' [インストールする] WantedBy =マルチユーザー。ターゲット
有効にするために使用しますsystemctl enable netstat
。シャットダウン中もネットワークインターフェイスを引き続き使用できるため、正確な統計情報は提供されませんが、ユーザーには許可されます。
答え2
まあ、私は/etc/rc.d/init.d/network
。これにより、ネットワークが起動/停止/再起動されるか、システムが停止/終了するたびに統計が提供されます。
これが良い習慣なのかはよく分からないが効果があればね。