diff --git a/autocommit.sh b/autocommit.sh new file mode 100755 index 0000000..34f0b17 --- /dev/null +++ b/autocommit.sh @@ -0,0 +1,95 @@ +#!/bin/bash + +####################################################################### +## NOTE: This script originates from here but I tweaked the pull ## +## command, changed default location for backup, and added a comment ## +## for reference later. ## +####################################################################### + +##################################################################### +### Please set the paths accordingly. In case you don't have all ### +### the listed folders, just keep that line commented out. ### +##################################################################### +### Path to your config folder you want to backup +config_folder=~/printer_data/config + +# NOTE: The above should work for just about everyone, but a somewhat +# recent update to moonraker changed paths, etc. You can run the +# provided moonraker script 'data-path-fix.sh' to fix/update +# older installs + +### Path to your Klipper folder, by default that is '~/klipper' +klipper_folder=~/klipper + +### Path to your Moonraker folder, by default that is '~/moonraker' +moonraker_folder=~/moonraker + +### Path to your Mainsail folder, by default that is '~/mainsail' +mainsail_folder=~/mainsail + +### Path to your Fluidd folder, by default that is '~/fluidd' +#fluidd_folder=~/fluidd + +### The branch of the repository that you want to save your config +### By default that is 'main' +branch=main + +db_file=~/printer_data/database/moonraker-sql.db + +##################################################################### +##################################################################### + + + +##################################################################### +################ !!! DO NOT EDIT BELOW THIS LINE !!! ################ +##################################################################### +grab_version(){ + if [ ! -z "$klipper_folder" ]; then + klipper_commit=$(git -C $klipper_folder describe --always --tags --long | awk '{gsub(/^ +| +$/,"")} {print $0}') + m1="Klipper version: $klipper_commit" + fi + if [ ! -z "$moonraker_folder" ]; then + moonraker_commit=$(git -C $moonraker_folder describe --always --tags --long | awk '{gsub(/^ +| +$/,"")} {print $0}') + m2="Moonraker version: $moonraker_commit" + fi + if [ ! -z "$mainsail_folder" ]; then + mainsail_ver=$(head -n 1 $mainsail_folder/.version) + m3="Mainsail version: $mainsail_ver" + fi + if [ ! -z "$fluidd_folder" ]; then + fluidd_ver=$(head -n 1 $fluidd_folder/.version) + m4="Fluidd version: $fluidd_ver" + fi +} + +# Here we copy the sqlite database for backup +# To RESTORE the database, stop moonraker, then use the following command: +# cp ~/printer_data/config/moonraker-sql.db ~/printer_data/database/ +# Finally, restart moonraker + +if [ -f $db_file ]; then + echo "sqlite based history database found! Copying..." + cp ~/printer_data/database/moonraker-sql.db ~/printer_data/config/ +else + echo "sqlite based history database not found" +fi + +# To fully automate this and not have to deal with auth issues, generate a legacy token on Github +# then update the command below to use the token. Run the command in your base directory and it will +# handle auth. This should just be executed in your shell and not committed to any files or +# Github will revoke the token. =) +# git remote set-url origin https://XXXXXXXXXXX@github.com/EricZimmerman/Voron24Configs.git/ +# Note that that format is for changing things after the repository is in use, vs initially + +push_config(){ + cd $config_folder + git pull origin $branch --no-rebase + git add . + current_date=$(date +"%Y-%m-%d %T") + git commit -m "Autocommit from $current_date" -m "$m1" -m "$m2" -m "$m3" -m "$m4" + git push origin $branch +} + +grab_version +push_config diff --git a/moonraker-sql.db b/moonraker-sql.db new file mode 100644 index 0000000..54c3304 Binary files /dev/null and b/moonraker-sql.db differ