Add new CLI parameter to disable incremental backups (ie: only use full as the link target; never a previous differential)
This commit is contained in:
parent
4a0d4abc54
commit
3622d365f1
@ -15,6 +15,7 @@ This script is really just a wrapper around rsync's beautiful functionality. It
|
|||||||
* ```--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```
|
* ```--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
|
* ```--include <directory>``` Specifies another local source directory to include in the backup
|
||||||
|
13
mikes-backup
13
mikes-backup
@ -30,6 +30,7 @@ class MikesBackup:
|
|||||||
|
|
||||||
__force_full = False
|
__force_full = False
|
||||||
__force_differential = False
|
__force_differential = False
|
||||||
|
__no_incremental = False
|
||||||
|
|
||||||
__log_file_handle = None
|
__log_file_handle = None
|
||||||
|
|
||||||
@ -59,12 +60,13 @@ class MikesBackup:
|
|||||||
s += "\nDestination Dir Base: " + str(self.__destination_dir_base)
|
s += "\nDestination Dir Base: " + str(self.__destination_dir_base)
|
||||||
s += "\nSource Dir (Main): " + str(self.__source_dir)
|
s += "\nSource Dir (Main): " + str(self.__source_dir)
|
||||||
s += "\nSource Dirs (Includes): " + str(self.__source_dir_includes)
|
s += "\nSource Dirs (Includes): " + str(self.__source_dir_includes)
|
||||||
s += "\nSource Dir Excludes: " + str(self.__source_dir_excludes)
|
s += "\nSource Dirs (Excludes): " + str(self.__source_dir_excludes)
|
||||||
s += "\nSource Mountpoint Demands: " + str(self.__source_mountpoint_demands)
|
s += "\nSource Mountpoint Demands: " + str(self.__source_mountpoint_demands)
|
||||||
s += "\nSSH Key: " + str(self.__ssh_key)
|
s += "\nSSH Key: " + str(self.__ssh_key)
|
||||||
s += "\nQuiet SSH: " + str(self.__quiet_ssh)
|
s += "\nQuiet SSH: " + str(self.__quiet_ssh)
|
||||||
s += "\nForce Full Backup: " + str(self.__force_full)
|
s += "\nForce Full Backup: " + str(self.__force_full)
|
||||||
s += "\nForce Differential: " + str(self.__force_differential)
|
s += "\nForce Differential: " + str(self.__force_differential)
|
||||||
|
s += "\nDisallow Incremental: " + str(self.__no_incremental)
|
||||||
|
|
||||||
return s
|
return s
|
||||||
|
|
||||||
@ -141,6 +143,10 @@ class MikesBackup:
|
|||||||
valid_arg = True
|
valid_arg = True
|
||||||
self.__force_differential = True
|
self.__force_differential = True
|
||||||
self.log("Forcing a differential backup")
|
self.log("Forcing a differential backup")
|
||||||
|
elif arg == "--no-incremental":
|
||||||
|
valid_arg = True
|
||||||
|
self.__no_incremental = True
|
||||||
|
self.log("Disallowing incremental backups (differentials will only link back to full)")
|
||||||
elif arg == "--log-dir":
|
elif arg == "--log-dir":
|
||||||
valid_arg = True
|
valid_arg = True
|
||||||
self.__log_dir = sys.argv[a + 1]
|
self.__log_dir = sys.argv[a + 1]
|
||||||
@ -534,7 +540,10 @@ class MikesBackup:
|
|||||||
if not newest_path:
|
if not newest_path:
|
||||||
self.log("Didn't find a \"Full\" backup on remote")
|
self.log("Didn't find a \"Full\" backup on remote")
|
||||||
|
|
||||||
# TODO: Add CLI option to disable incrementals (ie: don't consider the diff dirs for the rsync link arg)
|
if self.__no_incremental:
|
||||||
|
self.log("Incremental backups are disabled; Won't consider any differential directories for the link target")
|
||||||
|
return newest_path
|
||||||
|
|
||||||
# Get listing info for all differential directories
|
# Get listing info for all differential directories
|
||||||
differential_path_base = self.make_remote_differential_backup_path_base()
|
differential_path_base = self.make_remote_differential_backup_path_base()
|
||||||
return_code, stdout, stderr = self.execute_remote_ssh_command([
|
return_code, stdout, stderr = self.execute_remote_ssh_command([
|
||||||
|
Loading…
Reference in New Issue
Block a user