バッテリー残量が少なくなったときに Linux を自動シャットダウンする方法

バッテリー残量が少なくなったときに Linux を自動シャットダウンする方法

序文

最近、私の住居の電力事情が不安定で、突然の停電が頻繁に起こります。ノートパソコンを持っているのですが、電源が入らないことがあります。このままだと、ノートパソコンのSSDがすぐに壊れてしまいます。

そこで、バッテリー残量が少なくなるとコンピューターをシャットダウンし、crontab または systemd タイマーを使用して定期的にチェックする簡単なスクリプトを作成しました。

crontab コマンドの使用方法については、https://www.jb51.net/article/148575.htm を参照してください。

詳しい紹介を見てみましょう。

check_shutdown.timer:

$ cat /etc/systemd/system/check_shutdown.timer 
[ユニット]
説明=10分ごとにバッテリー残量を確認する

[タイマー]
オンカレンダー=*:0/10
永続的=true

[インストール]
WantedBy=タイマー.ターゲット

check_shutdown.service:

$ cat /etc/systemd/system/check_shutdown.service 
[サービス]
実行開始=
ExecStart=/home/jiajun/.xmonad/scripts/shutdown.py

check_shutdown.py:

#!/home/jiajun/.py3k/bin/python

psutilをインポートする
インポートログ
インポートOS
日時をインポート

bat = psutil.sensors_battery()
logging.warn("%s: バッテリーステータス: %s", datetime.datetime.now(), bat)

bat.percent < 15の場合:
ログ記録.warn("シャットダウンします")
os.system("sudo シャットダウン -h now")

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

以下もご興味があるかもしれません:
  • Linux (Ubuntu) の休止、サスペンド、スタンバイ、シャットダウンコマンドの詳細な紹介
  • PHP は、シャットダウン、再起動、新しいサイトのオープンなど、Linux サーバーの一般的な機能を制御します。
  • Linuxのシャットダウンと再起動のコマンドを簡単にマスターする
  • ダウンロード後にシャットダウンを実現するLinuxのシェルスクリプト
  • Linux シャットダウンコマンドの概要の詳細な説明
  • Linux 管理者ガイド (5) -- 起動とシャットダウン
  • Linux をシャットダウンするときに指定されたスクリプト関数を実行する
  • Linux のシャットダウンおよび再起動コマンドの詳細な説明
  • Linuxはinitコマンドを使用してシャットダウン、再起動、モードの切り替えを行います。

<<:  星のきらめき効果を実現するネイティブ js

>>:  JavaScript はマウスのドラッグを実装して div のサイズを調整します

推薦する

HTML 画像 img にハイパーリンクを追加した後の醜い青い境界線の問題を解決する

HTML画像にハイパーリンクを追加すると醜い青い枠線が表示される次のように:解決: CSS スタイル...

この記事は、JQueryの基本的な操作を理解し、始めるのに役立ちます。

目次1. Jquery を使用する手順: (1)jsライブラリをインポートする(2)ページ読み込みイ...

MYSQL クエリの効率を向上させる 10 の SQL ステートメント最適化テクニック

MySQL データベースの実行効率はプログラムの実行速度に大きな影響を与えます。データベースの効率的...

Vue.jsは画像切り替え機能を実装する

この記事では、画像切り替え機能を実装するためのVue.jsの具体的なコードを参考までに共有します。具...

MySQL に接続されている IP アドレスを表示する方法の例

具体的な方法:まずコマンドプロンプトを開きます。次に、[ mysql -u root -p ] コマ...

MYSQL ストアドプロシージャと関数の簡単な記述

ストアドプロシージャとは簡単に言えば、これは強力で、JAVA 言語のメソッドに似た比較的複雑な論理関...

CentOS 8.1 で LEMP (Linux+Nginx+MySQL+PHP) 環境を構築する (チュートリアルの詳細)

目次ステップ1: CentOS 8でパッケージを更新するステップ2: CentOS 8にNginx ...

テキストの展開と折りたたみの効果を実現するJavaScript

リスト形式のテキストの展開と折りたたみの実装は参考までに。具体的な内容は以下のとおりです。必要: 1...

HTMLエリアタグの詳しい説明

<area> タグは、イメージ マップ内の領域を定義します (注: イメージ マップはク...

HTML+CSS を使用して、画像の右上隅に削除の十字と画像削除ボタンを追加します。

記録として、将来使用される可能性があり、困っている友人も使用できます。 BBはもうやめて、まずはレン...

ウェブサイト上で flv/MP4 やその他のビデオ ファイルを再生できない問題は、MIME タイプに関連しています。

ウェブサイトを作成している際に、flv や MP4 形式などのビデオ ファイルはローカルでは正常に再...

ミニプログラムは左スライドのドロワーメニューをネイティブに実装します

目次WXS レスポンス イベントプランAページ構造とスタイルWXS イベントコールバック関数WXS ...

CSS 垂直センタリングの代替実装コードの詳細な説明(非従来型)

序文ご存知のとおり、「CSS で要素を垂直方向に中央揃えするにはどうすればよいか」という質問は、すで...

レスポンシブフレームワークのテーブルヘッダーの自動改行問題に対する簡単な解決策

最近、Bootstrap を使って Web サイトを開発しています。表を処理していたところ、PC で...

Linux で大容量メモリ ページを持つ Oracle データベースを最適化する方法

序文PC サーバーは今日まで発展を続け、パフォーマンスにおいて大きな進歩を遂げてきました。 64ビッ...