On Wed, 13 Jan 2021 13:56:52 +0000, The Natural Philosopher wrote:
> On 12/01/2021 16:40, Pancho wrote:
>> On 12/01/2021 12:14, Simple Simon wrote:
>>> I am working on a battery powered car and want the Pi to shut down
>>> automatically if the battery starts to go flat to try to prevent SD
>>> card corruption. I am a beginner to bash scripts! I will run this via
>>> crontab...
>>>
>>> #!/bin/bash powerstatus=$(vcgencmd get_throttled)
>>> if [ $powerstatus="throttled=0x1" ]
>>> then echo Under Voltage Detected - Shutting Down sudo halt else echo
>>> Voltage Normal fi
>>>
>>> Obviously it is not working!! Could someone correct and explain for me
>>> please.
>>
>> Not being much help, but...
>>
>> I'm aware of Under Voltage problems from entries in journalctl. It
>> seems to me that listening for events logged to journalctl would be a
>> pretty common thing to do. So common that there should be some standard
>> way of doing it. Some kind of standard Observer pattern on jounalctl.
>> Does anyone know of one?
>
One way to get a rapid notification of entries written to a log is the
use 'tail' in a script.
Running "sudo tail -f /var/log/messages" from a console shows you each
message as it is written to /var/log/messages, so a script started a boot
time to run with sufficient privilege to read those log entries could
easily use tail to read messages as they are written and filter out the
ones of interest with grep or awk and use them to , for instance force a
clean shutdown on low battery, something like
#!/bin/bash
tail -f /var/log/messages | awk < Well that's just another problem with systemd.
>
Systemd isn't the issue here because the example script I've shown will
run equally well under systemd or the old SysV init.
The only difference is in setting things up so the script gets launched
at boot time.
- Under systemd you'd define a service to manage it.
- Under sysV init you'd write a control script, put that in /etc/init.d
and then hack around with with the contents of the /etc/rc?.d
directories to specify the runlevels at which its started and those at
which its not.
--
--
Martin | martin at
Gregorie | gregorie dot org
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)
|