26 Commits

Author SHA1 Message Date
165787f819 Changed to lowercase "full" and "differential" for dir creation 2019-08-06 15:28:49 -07:00
4b0ea6a411 Bugfix -> Backups to a local remote stopped working due to determine_rsync_backup_link_destination_path()
So like ... fixed it. And stuff.
2019-08-06 15:27:44 -07:00
74c347ec6a Changed a word 2019-08-06 15:27:06 -07:00
85bb2d7290 Only limit rsync to one file systen if no --source-mountpoint demands have been set 2019-08-05 06:23:11 -07:00
b11d69c957 Trying to improve logging a tad 2019-08-05 03:36:23 -07:00
b979b6196f Enforce that --source-dir can only be specified once 2019-08-05 03:20:45 -07:00
9d66f59113 When renaming temp differential dir to final, add support for when we're using ssh 2019-08-05 03:09:41 -07:00
54321e7ec1 MikesBackup::determine_rsync_backup_link_destination_path() Bugfix -> Make sure remote differential base path exists before trying to "ls" it 2019-08-05 03:03:13 -07:00
3622d365f1 Add new CLI parameter to disable incremental backups (ie: only use full as the link target; never a previous differential) 2019-08-05 01:30:27 -07:00
4a0d4abc54 After successful full backup, delete the entire diff backup directory, since it should technically all be out of date 2019-08-05 01:24:39 -07:00
6b70a22b52 Add some verbosity to param parsing 2019-08-05 01:23:45 -07:00
58aec3f911 MikesBackup::execute_rsync() - Raise an exception if we don't get a successful return code 2019-08-05 01:23:26 -07:00
9106924993 Ignore the "in progress" diff directory when considering a link target, derp 2019-08-05 01:22:26 -07:00
1d3e08e804 Implemented an "in progress" dir for differentials that only gets renamed upon success 2019-08-05 01:06:54 -07:00
fca18717fb Upgrade the logging methods 2019-08-05 01:02:48 -07:00
785c9e4c96 Updated README 2019-08-05 00:29:39 -07:00
0399ffde87 Upgrades and tweaks
- Added "include" feature from rsync
- Made some constants
- When making a diff, the most recently created directory will be used as the link, to save time and space (both full and diff directories are considered now)
-
2019-08-05 00:29:27 -07:00
8bb53d8a55 Add __str__() method to just print settings and ahstuffff 2019-08-04 18:59:32 -07:00
af6c37555c Tweak CLI parsing because it was wonky 2019-08-04 18:59:09 -07:00
8613bb8fce Slight upgrade to logging 2019-08-04 18:35:24 -07:00
f5b31f1dbb Added support for required source mountpoints 2019-08-04 18:21:48 -07:00
99a3bca3ba Appease Pycharm's incessant complaints 2019-08-04 18:04:45 -07:00
ee2e1af737 Ignore pycharm 2019-08-04 17:51:07 -07:00
5f51ff9756 Noop to test hook 2019-08-04 02:05:18 -07:00
933e3176a7 Noop to test hook 2019-08-04 01:58:55 -07:00
9eb1046351 No op to test hook 2019-08-04 01:58:19 -07:00
3 changed files with 558 additions and 219 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
#
.idea

View File

@ -14,13 +14,17 @@ This script is really just a wrapper around rsync's beautiful functionality. It
## Command Line Arguments ## Command Line Arguments
* ```--full``` Forces the script to run a *full* backup * ```--full``` Forces the script to run a *full* backup
* ```--differential``` Forces the script to run a *differential* backup * ```--differential``` Forces the script to run a *differential* backup
* ```--diff``` Same as ```---differential```
* ```--no-incremental``` Always force differentials to link back to the *full* backup, and not the most recent *differential*
* ```--log-dir <directory>``` Let's you set the log output directory * ```--log-dir <directory>``` Let's you set the log output directory
* ```--source-dir <directory>``` Specifies the local source directory * ```--source-dir <directory>``` Specifies the local source directory
* ```--include <directory>``` Specifies another local source directory to include in the backup
* ```--source-mountpoint <directory>``` Make sure a local mountpoint is mounted before continuing
* ```--destination-dir <directory>``` Specifies the backup destination directory * ```--destination-dir <directory>``` Specifies the backup destination directory
* ```--exclude <dir>``` Specifies a source directory to exclude (can be passed multiple times)
* ```--remote-host <hostname>``` Specifies the remote host, if your backup destination is an SSH server * ```--remote-host <hostname>``` Specifies the remote host, if your backup destination is an SSH server
* ```--remote-user <username>``` Specifies the remote username to use, if your backup destination is an SSH server * ```--remote-user <username>``` Specifies the remote username to use, if your backup destination is an SSH server
* ```--ssh-key <path to key>``` Specifies the local SSH key to use for authentication, if your backup destination is an SSH server * ```--ssh-key <path to key>``` Specifies the local SSH key to use for authentication, if your backup destination is an SSH server
* ```--exclude <dir>``` Specifies a source directory to exclude (can be passed multiple times)
Note that ```--remote-host```, ```--remote-user```, and ```--ssh-key``` are only needed if your backup destination is a remote SSH server. You may omit all three if the destination is a locally mounted folder. Note that ```--remote-host```, ```--remote-user```, and ```--ssh-key``` are only needed if your backup destination is a remote SSH server. You may omit all three if the destination is a locally mounted folder.

File diff suppressed because it is too large Load Diff