CRON作业和bash脚本来检查电池状态和蜂鸣声

时间:2013-11-07 08:01:23

标签: bash cron alert monitor battery

我最近改变了桌面环境,新的没有电池监视器。 我通过执行以下操作设法创建了一个简单的手册:

alias bat='upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage"'

我想把它提升到一个新的水平并创建一个脚本,不仅可以检查电池电量,还可以根据它发出哔哔声,让我们说如果电池百分比小于20%就会发出哔哔声。 然后我想将它作为CRON工作运行,可以说每5分钟运行一次。

我还使用以下内容创建了一个我喜欢的哔声:

alias beep='paplay /usr/share/sounds/ubuntu/stereo/message-new-instant.ogg'

假设CRON部分已被覆盖,假设您使用与'bat'中使用的命令相同的命令,您将如何在bash中编写此脚本:

upower -i /org/freedesktop/UPower/devices/battery_BAT0

感谢

1 个答案:

答案 0 :(得分:1)

我提出了以下解决方案:

1)创建一个bash脚本:

#!/bin/bash

bat='upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage"'
beep='paplay /usr/share/sounds/ubuntu/stereo/message-new-instant.ogg'

# This gets the integer percentage of current battery capacity
p=$(eval $bat | grep 'percentage' | awk '{print $2}' | awk -F '.' '{print $1}')

# if bat < 25% -> BEEP once
if [ "$p" -le 25 ] ; then
    eval $beep
fi

2)设置权限:

chmod 700 /path/to/script.sh

3)设置一个cron作业运行crontab -e并添加以下行:

*/1 * * * * /path/to/script.sh

这意味着脚本将每分钟运行一次。