OK, That's not how you do a code block here - apologies. And no edit!?!?! On Tuesday, September 22, 2026 at 9:22:44 AM UTC+10 David Schulz wrote:
> Hi > I'm attempting to write my first bash script to backup weewx. I'm > struggling with the syntax of a condition for a while loop that checks if > weewx has stopped or is still stopping. > > I don't really understand the syntax of the example conditions I can find > for various tutorials on using while to create a loop. I cannot find > anywhere an exact example of using 'systemctl is-active' as the condition > for a while loop. > > Appreciate any feedback from people more learned than I. > > TIA > > Here's what I have at the moment. If I run this script when I know weewx > won't be writing to the database, the commands to zip the files into the > backup directory all work OK. > > I don't think I want to be copying the database file in the middle of a > write. So I have a separate script with the backup section removed just > trying to test the stopping, check has stopped and start parts of the > script. I've been unsuccessfully futzing around with different condition > syntax and actively trying to run it when weewx is active and the stop > command will take a while to execute while the weewx main loop completes. > But TBH I'm just wandering about in the dark. > > ``` > #!/bin/bash > # > # Stop weewx service > echo $(date): Weewx is stopping >> /var/log/weewx-backup.log > systemctl stop weewx > # > # Check service has stopped > while [ systemctl -q is-active weewx ]; > do > sleep 1 > echo $(date): Weewx is still stopping >> /var/log/weewx-backup.log > done > echo $(date): Weewx has stopped >> /var/log/weewx-backup.log > # > # Copy files to backup folder > echo $(date): Backup is starting >> /var/log/weewx-backup.log > tar -czvf /mnt/backup/weewx-conf.tar.gz /etc/weewx > tar -czvf /mnt/backup/weewx-db.tar.gz /var/lib/weewx/weewx.sdb > echo $(date): Backup is complete >> /var/log/weewx-backup.log > # > # Start weewx service > systemctl start weewx > echo $(date): Weewx is starting >> /var/log/weewx-backup.log > ``` > -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/weewx-user/0e0bcb1f-8ab4-43bc-b8cd-1b38a1042fddn%40googlegroups.com.
