A question,
Has the script been tested yet?
Can you also make it a downloadable file?
can you make it possible to save the copy of the db on google drive?
Op zondag 29 oktober 2023 om 22:53:43 UTC+1 schreef Lorin Tremblay:
> Thanks for the info…
>
> Here is my update bash script that run with a cron job.
>
> Any comment is more than appreciated I’m stating to code here and there,
> so I appreciate any input…
>
> And yes in the future I’ll do more research before posting anything!!
>
>
> #!/bin/bash
>
>
> # Set the script name prefix as a variable
>
> sc_name=*"BackupDB_Weewx"*
>
>
> # Check if sqlite3 is installed
>
>
> if ! command* -v* sqlite3 &>/dev/null; then
>
> logger* -t* *"$sc_name"* *"Error: sqlite3 is not installed on this
> system."*
>
> exit 1
>
> fi
>
>
> logger* -t* *"$sc_name"* *"Starting backup of the Weewx Database."*
>
>
> *make_backup_copy*() {
>
> db=*"/var/lib/weewx/weewx.sdb"* # Specify the WeeWX database path
>
> backup_dir=*"/var/lib/weewx/"* # Specify the directory where backups
> will be stored
>
> timestamp=*"$(date +"*%Y%m%d_%H%M%S*")"* # Generate a timestamp
>
>
> # Create the full path for the temporary copy with the timestamp
>
> tmp_db_copy=*"$backup_dir/weewxdb_${timestamp}.sdb"*
>
>
> check_sum=*"`/usr/bin/cksum "**$db**" | cut -d ' ' -f 1`"*
>
> *cp* *"$db"* *"$tmp_db_copy"*
>
> check_sum_after=*"`/usr/bin/cksum "**$tmp_db_copy**" | cut -d ' ' -f
> 1`"* # Calculate checksum for the copied file
>
> if [ *"$check_sum"* != *"$check_sum_after"* ]; then
>
> logger* -t* *"$sc_name"* *"$db changed during copy process!"*
>
> return 1
>
> fi
>
>
> integrity_check=*"`echo "*pragma integrity_check;*" | sqlite3 "*
> *$tmp_db_copy**"`"*
>
> if [ *"$integrity_check"* != *"ok"* ]; then
>
> logger* -t* *"$sc_name"* *"$tmp_db_copy failed integrity check!"*
>
> return 2
>
> fi
>
> logger* -t* *"$sc_name"* *"$tmp_db_copy integrity check passed!"*
>
> return 0
>
> }
>
>
> while true; do
>
> make_backup_copy
>
> retval=*"$?"*
>
>
> if [ *"$retval"* -eq 0 ]; then
>
> logger* -t* *"$sc_name"* *"Backup successful."*
>
> sudo zip* -r* *"$tmp_db_copy.zip"* *"$tmp_db_copy"*
>
> logger* -t* *"$sc_name"* *"Zipping succesful :)"*
>
> sleep 1
>
> sudo *rm** -r* *"$tmp_db_copy"*
>
> logger* -t* *"$sc_name"* *"Removal of un zipped copy done"*
>
> break # Exit the loop if the backup is successful
>
> else
>
> logger* -t* *"$sc_name"* *"Backup failed. Retryingin 10
> seconds..."*
>
> sleep 10
>
> fi
>
> done
>
>
>
> On 29 Oct 23, at 16:29, vince <[email protected]> wrote:
>
> This has been asked and answered literally dozens of times here over the
> years. Please do a little searching of the old posts for so many threads
> and methods that it's impossible to reiterate here. There are also long
> discussions of how to validate your backup is good for using to restore
> your system in the future.
>
> Short answer is 'copy' to a temporary file. Compress the temporary file.
> No need to stop/restart weewx if you use sqlite3 typically.
>
> On Sunday, October 29, 2023 at 12:59:16 PM UTC-7 Lorin Tremblay wrote:
>
>> Hi!
>>
>> Was wondering If this bash script is an acceptable method to back up the
>> weewx database on the daily..
>>
>> Here is my bash script to do so and I have a cron job that triggers It at
>> 00:01 everyday...
>>
>> # Stop weewx
>> sudo systemctl stop weewx
>>
>> # Define the date format for backup filename
>> DATE=$(date +*"%Y%m%d_%H%M%S"*)
>>
>> # Backup database (assuming the database is at /var/lib/weewx/weewx.sdb;
>> adjust if different)
>> sudo zip* -r* *"/var/lib/weewx/weewxdb_$DATE.zip"*
>> /var/lib/weewx/weewx.sdb
>>
>> # Introduce a short delay as a buffer (for example, 10 seconds). Adjust
>> as needed.
>> sleep 10
>>
>> # Start weewx again
>> sudo systemctl start weewx
>>
>> is this wrong or can It be improved?
>>
>
> --
> 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 on the web visit
> https://groups.google.com/d/msgid/weewx-user/1b6472b5-c52e-426b-abf1-1829719469c3n%40googlegroups.com
>
> <https://groups.google.com/d/msgid/weewx-user/1b6472b5-c52e-426b-abf1-1829719469c3n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
>
--
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 on the web visit
https://groups.google.com/d/msgid/weewx-user/0521ea33-a5f6-490d-b8c3-5ca13a2e91aen%40googlegroups.com.