低电量关机
文中使用的脚本为电池量低于40%进行关机,处于充电状态取消关机
部署脚本如下
1
2
3
4
5
|
nano /opt/batterydown.sh
nano /usr/lib/systemd/system/batterydown.service
systemctl daemon-reload
systemctl enable --now batterydown.service
systemctl status batterydown.service
|
sh文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#!/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
_shut=false
sleep 20
while :
do
# 获取电池电量
capacity=$(cat /sys/class/power_supply/BAT0/capacity)
# 获取电池状态
status=$(cat /sys/class/power_supply/BAT0/status)
echo "Battery Status: $status"
echo "Battery Capacity: $capacity%"
if [[ $capacity -lt 40 ]]; then
if [[ $status != "Full" && $status != "Charging" ]]; then
echo "Battery capacity is below 40%. Going down!"
if [ "$_shut" == "false" ]; then
echo "Going Down!!!!"
shutdown -h +10
fi
_shut=true
else
if $_shut; then
echo "Battery is Charging. Canceling shutdown!"
shutdown -c
_shut=false
fi
fi
else
if $_shut; then
echo "Battery capacity is above 40%. Canceling shutdown!"
shutdown -c
_shut=false
fi
fi
sleep 20
done
|
service文件:
1
2
3
4
5
6
7
8
9
|
[Unit]
Description=batterydown Service
[Service]
User=root
ExecStart=/bin/bash /opt/batterydown.sh
[Install]
WantedBy=default.target
|
电池保护
先装一下相关的软件包
1
2
3
4
|
nano /etc/tlp.conf
#找到下面两行进行取消注释和修改
START_CHARGE_THRESH_BAT0=50
STOP_CHARGE_THRESH_BAT0=80
|
状态查看