Package: backuppy
AboutBackuppy backs up and restores your data using rsync, allowing different routes to the same, or different destinations.The following instructions can be executed in any system Python environment, but you may want to use avirtual environment. Alternatively, some actions can be performed usingtoxas well, which produces its own virtual environments in.tox/py**.LicenseBackuppy is released under theMITlicense.DocumentationExtended API documentation is available atRead the Docs.UsageRequirementsPython 2.7+InstallationIn any Python environment, runpip install backuppy.Command line$backuppy--helpusage:backuppy[-h]{backup,restore,init}...Backuppybacksupandrestoresyourdatausingrsync.positionalarguments:{backup,restore,init}backupStartsaback-up.restoreRestoresaback-up.initInitializesanewback-upconfiguration.optionalarguments:-h,--helpshowthishelpmessageandexitConfigurationConfiguration is written inYAMLorJSON,
and can be stored anywhere as*.yml,*.yaml, or*.jsonfiles. An example of the smallest possible configuration
file:source:type:pathconfiguration:path:./sourcetarget:type:pathconfiguration:path:./targetTo create a new back-up configuration without writing code, runbackuppy initand follow the interactive wizard.To tweak Backuppy’s output:# An optional human-readable name for this back-up. It will default to the configuration file name.name:Test# Whether or not to generate verbose output. Defaults to `false`.verbose:true# Python logging configuration. This is specific to the Python version you are using. Defaults to `null` for no logging.# See https://docs.python.org/3.6/library/logging.config.html#logging-config-dictschema.logging:version:1# ...additional logger and handler configuration.Backuppy supports plugins for back-up source and target locations, as well as notifications.To configure a local path-based target:type:pathconfiguration:# The local path to the target directory. If the path is relative, it will be resolved against the location of# the configuration file.path:./targetTo configure a remote target over SSH:type:sshconfiguration:# The host to connect to.host:example.com# The SSH port to use. Defaults to 22.port:22# The name of the user on the remote system to log in as.user:bart# The absolute path to the target directory on the remote.path:/home/bart/targetThe SSH key must have been accepted already, and the host must support Bash.To specify multiple routes to the same target, such as one over a local network mount, and a fallback over SSH:target:type:first_availableconfiguration:targets:-type:pathconfiguration:path:./target-type:sshconfiguration:host:example.comuser:bartpath:/home/bart/targetTo configure user-facing notifications:# An optional list of zero or more notification methods. Message types are:# - "state": unimportant, mass-generated, or debugging output which may be ignored.# - "inform": informative messages, such as those marking the start of an action.# - "confirm": confirmation messages, such as those marking the successful completion of an action.# - "alert": important messages that warrant someone's attention, such as in case of errors.notifications:[]To display notifications to stdout and stderr (terminal output):notifications:-type:stdioTo display notifications usingnotify-send:notifications:-type:notify-sendTo process notifications through custom CLI commands:notifications:-type:command# Commands are specified as CLI arguments. `fallback` is required if any of the others are missing.configuration:state:-echo-"{message}"inform:-echo-"{message}"confirm:-echo-"{message}"alert:-echo-"{message}"fallback:-echo-"{message}"To append notifications to files:notifications:-type:file# Paths must be absolute. `fallback` is required if any of the others are missing.configuration:state:-/var/log/backuppyinform:-/var/log/backuppyconfirm:-/var/log/backuppyalert:-/var/log/backuppyfallback:-/var/log/backuppyDevelopmentRequirementsThe generic requirements documented earlier.Bash (you’re all good ifwhich bashoutputs a path in your terminal)InstallationRungit clonehttps://github.com/bartfeenstra/backuppy.git.If you wish to contribute code changes, you may want to fork this project first, and clone your own forked repository
instead.BuildingIn any Python environment, run./bin/build-dev.With tox, runtox--develop--notest.TestingIn any Python environment, run./bin/test.With tox, runtox--developViewing documentationIn any Python environment, run./bin/build-docs, and open./docs-build/index.html.Fixing problems automaticallyIn any Python environment, run./bin/fix.