*can you make it possible to save the copy of the db on google drive? *--- Not so easy after Google made some changes to their APIs. I used to do this nightly but haven't been able to figure out how to do it anymore.
On Mon, Oct 30, 2023 at 11:22 AM Ton Karsten <[email protected]> wrote: > 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 > <https://groups.google.com/d/msgid/weewx-user/0521ea33-a5f6-490d-b8c3-5ca13a2e91aen%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- Peter Quinn (415)794-2264 -- 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/CAA1SM21jHwa0W1PdCX_oz-u8A2eQM9xw4m-6u6TPSDU9qtpAfQ%40mail.gmail.com.
