バッテリー残量が少なくなったときに 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 のサイズを調整します

推薦する

Linuxで相対パスを表現する方法

たとえば、現在のパスが /var/log で、/usr ディレクトリに移動する場合は、次のコマンドを...

CentOS6.5 でファイル共有サービス Samba を構築するチュートリアル

Samba サービス:このコンテンツはサンバサービス学習者の参考用ですケースの説明:企業の管理者は、...

XHTML 入門チュートリアル: シンプルな Web ページの作成

1 分で最初の Web ページを作成します。簡単な Web ページを作ってみましょう。ぜひフォローし...

MySQLの誤操作後にbinlog2sqlを使用して素早くロールバックする方法の詳細な説明

序文日常の仕事や勉強では、データベースを操作するときに「不注意」によるミスを犯すことは避けられません...

MySQLは1億のテストデータを素早く挿入します

目次1. テーブルを作成する1.1 テストテーブルt_userを作成する1.2 一時テーブルの作成2...

最新の仮想マシン VMware 14 インストール チュートリアル

まず、VMware 14のアクティベーションコードをお渡ししますFF31K-AHZD1-H8ETZ-...

Ubuntu の起動後にアプリケーションを実行するためのターミナルの設定方法

1.メニューバーにスタートと入力し、スタートアップアプリケーションをクリックして入力します。 2. ...

ハンドラー PageHandlerFactory-Integrated のモジュール リストに不正なモジュール ManagedPipelineHandler が含まれています

Web プロジェクトを開発する場合、IIS をインストールする必要があります。IIS がインストール...

MySQL 5.7.21 解凍版インストール Navicat データベース操作ツールインストール

MySQL解凍版とNavicatデータベース操作ツールのインストールは、以下のとおりです。 1. M...

シリアルポート使用時のvue-electronの問題解決

エラーは次のとおりです:キャッチされない TypeError: 未定義のプロパティ 'mod...

MySQLスタートアップが起こした事故の実録

目次背景MySQLが完全に起動したかどうかを確認する方法事故最初の変更2回目の改訂要約するMySQL...

VMware15 の Deepin インストール詳細チュートリアル (画像とテキスト)

序文Deepin のユーザー インターフェイスは、使用時に非常に見栄えがします。インターフェイス効果...

MySQL 5.7.21 winx64 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 5.7.21のインストールに関する注意事項をまとめ、皆さんと共有します。 ...

Vue を使用して Web ページのスクリーンショットを撮る方法をご存知ですか?

目次1. html2Canvasをインストールする2. 必要なVueコンポーネントを導入する3. ス...

MySQL 制約の超詳細な説明

目次MySQL 制約操作1. 非ヌル制約2. ユニーク制約3. 主キー制約4. 外部キー制約5. カ...