确定我的Raspberry Pi重新启动的次数

时间:2016-05-18 09:11:24

标签: bash reboot raspberry-pi3

我正在使用bash脚本编写Raspberry Pi,我想知道是否可以确定RPi重启的次数。关键是我的程序正在做一些事情,如果我重新启动3次,它就会开始做其他事情。

我已经找到了https://unix.stackexchange.com/questions/131888/is-there-a-way-to-tell-how-many-times-my-computer-has-rebooted-in-a-24-hour-peri 但问题是它给了我一个无法轻易修改的数字。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

感谢您的澄清。

last reboot | grep ^reboot | wc -l

这是你的系统重启的次数。由于您的程序不会“重启”,我认为您需要重启的次数,因为您的程序是第一次运行。因此,您希望第一次存储重新启动次数,然后重新读取(第一次和后续)启动:

if [[ ! -e ~/.reboots ]]
then
    echo $(last reboot | grep ^reboot | wc -l) > ~/.reboots
fi

INITIAL_REBOOTS=$(cat ~/.reboots)

# Now you can check if the *current* number of reboots
# is larger than the *initial* number by three or more:

REBOOTS=$(last reboot | grep ^reboot | wc -l)
if [[ $(expr $REBOOTS - $INITIAL_REBOOTS) -ge 3 ]]
then
    echo "Three or more reboots"
else
    echo "Less than three reboots"
fi

以上缺乏各种技巧和错误检查(例如,如果有人篡改了~/.reboots),但仅作为概念证明。