着信ネットワーク接続なしでN分待ってからコマンドを実行します。

着信ネットワーク接続なしでN分待ってからコマンドを実行します。

しばらくネットワーク接続がない場合は、Debian Wheezyホームサーバーをスリープモードに切り替えたいと思います。

私はnetstatを使ってアクティブな接続の数を計算し、数秒間休止状態を維持し、netstatを再実行するなどのbashスクリプトを思いつきました。

一瞬一瞬眠らずにこれを達成するためのより良い方法はありますか? 「受信ネットワーク接続」イベントに反応し、一種のカウントダウンタイマーをリセットする方法はありますか?

答え1

前述のように、アイドルネットワーク検出は通常シェルスクリプトを使用して処理されます。 「linux sleep networkidle」の簡単なWeb検索を使用すると、この問題を解決する簡単に見つけることができるスクリプトが少なくとも3つ以上あることがわかります。

既存のスクリプトをコピーするか直接作成するかにかかわらず、毎秒実行する理由はありません。 30秒ごとに実行されるクローンジョブを簡単に作成できます。ほとんどのユーザーは、サーバーが5〜15分間アイドル状態になる前にサーバーをシャットダウンしたくないため、1秒あたりの精度は必要ありません。一部のユーザーは20分ごとにスクリプトを実行するため、コンピュータはアイドル状態の後に平均30分間スリープモードになります。

関連情報