From c8955d0ecfd304893bb080bb59974e60fcdff509 Mon Sep 17 00:00:00 2001 From: Michael Stanclift Date: Wed, 8 Jul 2020 09:48:24 -0500 Subject: [PATCH] Correct output of argument listing --- ADVANCED.md | 4 +- CHANGELOG.md | 166 ++++++++++++++++++++++++------------------------ VERSION | 2 +- gravity-sync.sh | 2 +- 4 files changed, 88 insertions(+), 86 deletions(-) diff --git a/ADVANCED.md b/ADVANCED.md index 7a52bb1..eecbb94 100644 --- a/ADVANCED.md +++ b/ADVANCED.md @@ -14,8 +14,8 @@ Download the latest release from [GitHub](https://github.com/vmstan/gravity-sync ```bash cd ~ -wget https://github.com/vmstan/gravity-sync/archive/v2.0.1.zip -unzip v2.0.1.zip -d gravity-sync +wget https://github.com/vmstan/gravity-sync/archive/v2.0.2.zip +unzip v2.0.2.zip -d gravity-sync cd gravity-sync ``` diff --git a/CHANGELOG.md b/CHANGELOG.md index 20b3c1d..bbb6aca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,9 @@ New installs will use the `smart` function by default. Existing users who want t #### 2.0.1 - Fixes bug that caused existing crontab entry not to be removed when switching from `pull` to Smart Sync. +#### 2.0.2 +- Correct output of `smart` function when script is run without proper function requested. + ## 1.8 ### The Logical Release @@ -27,18 +30,18 @@ There is nothing really sexy here, but a lot of changes under the covers to impr - Adds custom port specification to ssh-copy-id and dropbearkey commands during configuration generation. - Generally better error handling of configuration options. +#### 1.8.1 +- Detects if script is running as the root user or via `sudo ./gravity-sync.sh` and exits on error. [#34](https://github.com/vmstan/gravity-sync/issues/34) + +#### 1.8.2 +- Corrects issue where `custom.list` file would not replicate if the file didn't exist locally, and there were no other changes to replicate. [#39](https://github.com/vmstan/gravity-sync/issues/39) + #### 1.8.3 - Simplified method for input of automation frequency when running `./gravity-sync.sh automate` function. - Now removes existing automation task from crontab, if it exists, when re-running `automate` function. - Automation can be disabled by setting frequency to `0` when prompted. - Adds `dev` tag to `./gravity-sync.sh version` output for users running off the development branch. -#### 1.8.2 -- Corrects issue where `custom.list` file would not replicate if the file didn't exist locally, and there were no other changes to replicate. [#39](https://github.com/vmstan/gravity-sync/issues/39) - -#### 1.8.1 -- Detects if script is running as the root user or via `sudo ./gravity-sync.sh` and exits on error. [#34](https://github.com/vmstan/gravity-sync/issues/34) - ## 1.7 ### The Andrew Release @@ -50,35 +53,24 @@ There is nothing really sexy here, but a lot of changes under the covers to impr **Known Issues** - No new Star Trek references. -#### 1.7.7 -- `config` function will attempt to ping remote host to validate network connection, can by bypassed by adding `PING_AVOID='1'` to your `gravity-sync.conf` file. -- Changes some [INFO] messages to [WARN] where approprate. -- Adds aliases for more Gravity Sync functions. -- Shows current version on each script execution. -- Adds time output to Aborting message (exit without change.) -- Includes parsing of functions in time calculation. -- Checks for existance of Pi-hole binaries during validation. -- Less chatty about each step of configuration validation if it completes. -- Less chatty about replication validation if it's not necessary. -- Less chatty about file validation if no changes are required. -- When applying `update` in DEV mode, the Git branch used will be shown. -- Validates log export operation. +#### 1.7.1 +- There is a changelog file now. I'm mentioning it in the changelog file. So meta. +- `./gravity-sync.sh version` will check for and alert you for new versions. -#### 1.7.6 -- Detects `dbclient` install as alternative to OpenSSH Client. -- Attempts to install OpenSSH Client if not found, and Dropbear is not alternative. -- Fix bug with `dropbearkey` not finding .ssh folder. -- Numerous fixes to accomidate DietPi in general. -- Fixes issue where `compare` function would show changes where actually none existed. -- [WARN] header is now purple all the way across, consistent with [INFO] as of 1.7.4. -- Fixes issue where `custom.list` would only pull if the file already existed on the secondary Pi-hole. -- One new Star Trek reference. +#### 1.7.2 +This update changes the way that beta/development updates are applied. To continue receving the development branch, create an empty file in the `gravity-sync` folder called `dev` and afterwards the standard `./gravity-sync.sh update` function will apply the correct updates. +``` +cd gravity-sync +touch dev +./gravity-sync.sh update +``` +Delete the `dev` file and update again to revert back to the stable/master branch. -#### 1.7.5 -- No code changes! -- Primary README now only reflect "The Easy Way" to install and configure Gravity Sync -- "The Less Easy Way" are now part of [ADVANCED.md](https://github.com/vmstan/gravity-sync/blob/master/ADVANCED.md) -- All advanced configuration options are outlined in [ADVANCED.md](https://github.com/vmstan/gravity-sync/blob/master/ADVANCED.md) +#### 1.7.3 +- Cleaning up output of argument listing + +**Deprecation** +- Removes `beta` function for applying development branch updates. #### 1.7.4 - `./gravity-sync.sh dev` will now toggle dev flag on/off. No `touch` required, although it still works that way under the covers. Improvement of methods added in 1.7.2. @@ -93,24 +85,35 @@ There is nothing really sexy here, but a lot of changes under the covers to impr - Detects absence of `ssh-keygen` utility on host OS and will use `dropbearkey` as an alternative (DietPi) - Changelog polarity reversed after heated discussions with marketing team. -#### 1.7.3 -- Cleaning up output of argument listing +#### 1.7.5 +- No code changes! +- Primary README now only reflect "The Easy Way" to install and configure Gravity Sync +- "The Less Easy Way" are now part of [ADVANCED.md](https://github.com/vmstan/gravity-sync/blob/master/ADVANCED.md) +- All advanced configuration options are outlined in [ADVANCED.md](https://github.com/vmstan/gravity-sync/blob/master/ADVANCED.md) -#### 1.7.2 -This update changes the way that beta/development updates are applied. To continue receving the development branch, create an empty file in the `gravity-sync` folder called `dev` and afterwards the standard `./gravity-sync.sh update` function will apply the correct updates. -``` -cd gravity-sync -touch dev -./gravity-sync.sh update -``` -Delete the `dev` file and update again to revert back to the stable/master branch. +#### 1.7.6 +- Detects `dbclient` install as alternative to OpenSSH Client. +- Attempts to install OpenSSH Client if not found, and Dropbear is not alternative. +- Fix bug with `dropbearkey` not finding .ssh folder. +- Numerous fixes to accomidate DietPi in general. +- Fixes issue where `compare` function would show changes where actually none existed. +- [WARN] header is now purple all the way across, consistent with [INFO] as of 1.7.4. +- Fixes issue where `custom.list` would only pull if the file already existed on the secondary Pi-hole. +- One new Star Trek reference. -**Deprecation** -- Removes `beta` function for applying development branch updates. - -#### 1.7.1 -- There is a changelog file now. I'm mentioning it in the changelog file. So meta. -- `./gravity-sync.sh version` will check for and alert you for new versions. +#### 1.7.7 +- `config` function will attempt to ping remote host to validate network connection, can by bypassed by adding `PING_AVOID='1'` to your `gravity-sync.conf` file. +- Changes some [INFO] messages to [WARN] where approprate. +- Adds aliases for more Gravity Sync functions. +- Shows current version on each script execution. +- Adds time output to Aborting message (exit without change.) +- Includes parsing of functions in time calculation. +- Checks for existance of Pi-hole binaries during validation. +- Less chatty about each step of configuration validation if it completes. +- Less chatty about replication validation if it's not necessary. +- Less chatty about file validation if no changes are required. +- When applying `update` in DEV mode, the Git branch used will be shown. +- Validates log export operation. ## 1.6 ### The Restorative Release @@ -146,14 +149,14 @@ Delete the `dev` file and update again to revert back to the stable/master branc - All new and exciting code comments. - No new Star Trek references. -#### 1.4.3 -- Bug fixes around not properly utilizing custom SSH keyfile. +#### 1.4.1 +- Adds variables for custom log locations to `gravity-sync.conf`, see `.example` file for listing. #### 1.4.2 - Will prompt to create new `gravity-sync.conf` file when run without an existing configuration. -#### 1.4.1 -- Adds variables for custom log locations to `gravity-sync.conf`, see `.example` file for listing. +#### 1.4.3 +- Bug fixes around not properly utilizing custom SSH keyfile. ## 1.3 ### The Comparison Release @@ -165,22 +168,21 @@ Delete the `dev` file and update again to revert back to the stable/master branc - Additional debugging options such as checking last cronjob output via `./gravity-sync.sh cron` if configured. - Much more consistency in how running commands are processed in interactive mode. -#### 1.3.4 -- Moves backup of local database before initiating remote pull. -- Validates file ownership and permissions before attempting to rewrite. -- Added two Star Trek references. - -#### 1.3.3 -- Corrected Pihole bin path issue that cause automated sync not to reload services. - -#### 1.3.2 -- MUCH cleaner output, same great features. - #### 1.3.1 - Changes [GOOD] to [DONE] in execution output. - Better validation of initial SSH connection. - Support for password based authentication using SSHPASS. +#### 1.3.2 +- MUCH cleaner output, same great features. + +#### 1.3.3 +- Corrected Pihole bin path issue that cause automated sync not to reload services. + +#### 1.3.4 +- Moves backup of local database before initiating remote pull. +- Validates file ownership and permissions before attempting to rewrite. +- Added two Star Trek references. ## 1.2 ### The Functional Release @@ -188,23 +190,23 @@ Delete the `dev` file and update again to revert back to the stable/master branc - Does not look for permission to update when run. - Cleanup and expand comments. -#### 1.2.5 -- Push function now does a backup, on the secondary PH, of the primary database, before pushing. +#### 1.2.1 +- Improved logging functions. -#### 1.2.4 -- Changes `~` to `$HOME`. -- Fixes bug that prevented sync from working when run via crontab. +#### 1.2.2 +- Different style for status updates. #### 1.2.3 - Uses a dedicated backup folder for `.backup` and `.last` files. - Copies db instead of moving to rename and then replacing to be more reliable. - Even cleaner label status. -#### 1.2.2 -- Different style for status updates. +#### 1.2.4 +- Changes `~` to `$HOME`. +- Fixes bug that prevented sync from working when run via crontab. -#### 1.2.1 -- Improved logging functions. +#### 1.2.5 +- Push function now does a backup, on the secondary PH, of the primary database, before pushing. ## 1.1 ### The Pushy Release @@ -212,22 +214,22 @@ Delete the `dev` file and update again to revert back to the stable/master branc - Seperated main purpose of script into `pull` argument. - Allow process to reverse back using `push` argument. -#### 1.1.6 -- Code easier to read with proper tabs. +#### 1.1.2 +- First release since move from being just a Gist. +- Just relearning how to use GitHub, minor bug fixes. -#### 1.1.5 -- Added ability to view logs with `./gravity-sync.sh logs`. +#### 1.1.3 +- Now includes example an configuration file. #### 1.1.4 - Added update script. - Added version check. -#### 1.1.3 -- Now includes example an configuration file. +#### 1.1.5 +- Added ability to view logs with `./gravity-sync.sh logs`. -#### 1.1.2 -- First release since move from being just a Gist. -- Just relearning how to use GitHub, minor bug fixes. +#### 1.1.6 +- Code easier to read with proper tabs. ## 1.0 ### The Initial Release diff --git a/VERSION b/VERSION index 10bf840..f93ea0c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.0.1 \ No newline at end of file +2.0.2 \ No newline at end of file diff --git a/gravity-sync.sh b/gravity-sync.sh index 44f72aa..59e456b 100755 --- a/gravity-sync.sh +++ b/gravity-sync.sh @@ -1360,7 +1360,7 @@ function list_gs_arguments { echo -e " ${YELLOW}version${NC} Display installed version of ${PROGRAM}" echo -e "" echo -e "Replication Options:" - echo -e " ${YELLOW}sync${NC} Detect changes on each side and bring them together" + echo -e " ${YELLOW}smart${NC} Detect changes on each side and bring them together" echo -e " ${YELLOW}pull${NC} Force remote configuration changes to this server" echo -e " ${YELLOW}push${NC} Force local configuration made on this server back" echo -e " ${YELLOW}restore${NC} Restore the ${GRAVITY_FI} on this server"