确定我的 Raspberry Pi 重启了多少次
Determine how many times my Raspberry Pi has rebooted
我正在 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
但问题是它给了我一个不能轻易修改的数字。
有什么想法吗?
感谢您的澄清。
last reboot | grep ^reboot | wc -l
这是您的系统重新启动的次数。由于您的程序不会 "survive" 重新启动,我假设您想要自程序 运行 第一次 以来的重新启动次数 。因此,您想存储第一次重新启动的次数,并在(第一次和)后续启动时重新读取它:
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
),但仅作为概念证明。
我正在 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 但问题是它给了我一个不能轻易修改的数字。
有什么想法吗?
感谢您的澄清。
last reboot | grep ^reboot | wc -l
这是您的系统重新启动的次数。由于您的程序不会 "survive" 重新启动,我假设您想要自程序 运行 第一次 以来的重新启动次数 。因此,您想存储第一次重新启动的次数,并在(第一次和)后续启动时重新读取它:
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
),但仅作为概念证明。