Python backup utility
Project description
backutil
Python Backup Utility
Description:
backutil
is a wrapper for the python tarfile
library. As tarfile
is a standard Python library, using backutil
will provide a cross-platform and simple backup utility.
Installation:
Install using pip
:
sudo pip3 install backutil
Usage:
❯ backutil --help
usage: backutil [-h] [--path PATH [PATH ...]] [-o OUTFILE] [--webdav URL]
[--remote REMOTE PATH] [--encrypt RECIPIENT] [-z] [--rm] [-v]
[-q] [-i] [-V]
Python backup utility
optional arguments:
-h, --help show this help message and exit
--path PATH [PATH ...]
path(s) to backup
-o OUTFILE, --outfile OUTFILE
output file of backup
--webdav URL WebDav URL to upload to
--remote REMOTE PATH Remote WebDav path to upload to
--encrypt RECIPIENT Use gpg to encrypt file
-z, --zip use gzip to compress the backup file
--rm remove local backup file
-v, --verbose enable verbose output
-q, --quiet suppress output
-i, --insecure ignore SSL certificate warnings
-V, --version print version of backutil
Example commands:
Backup two files to a .tar archive:
❯ backutil --path tmp.txt tmp2.txt --outfile ~/Documents/file.tar
Backup and compress to .tar.gz archive:
❯ backutil --path tmp.txt tmp2.txt --outfile ~/Documents/file.tar.gz -z
Backup to a .tar archive verbosely:
❯ backutil --path tmp.txt tmp2.txt --outfile ~/Documents/file.tar -v
Backup and compress to a .tar.gz archive, supressing output:
❯ backutil --path tmp.txt tmp2.txt --outfile ~/Documents/file.tar.gz -z -q
Backup file, zip it and upload to Nextcloud Webdav as file.tar.gz in the Nextcloud user's root directory:
❯ backutil --path tmp.txt tmp2.txt --outfile ~/file.tar.gz --webdav 'https://cloud.example.com:8080/' --remote file.tar.gz -z
Backup files, zip them and upload the archive to Nextcloud Webdav as file.tar.gz in the Nextcloud user's root directory, then remove the local archive:
❯ backutil --path tmp.txt tmp2.txt --outfile ~/file.tar.gz --webdav 'https://cloud.example.com:8080/' --remote file.tar.gz -z --rm
Configuration:
Backutil supports a configuration file storing details, which enables non-interactive usage of backups (in case you'd like to run backutil as a cron job or something similar).
Place the file in your home directory as .backutil.conf
. Currently this is the configuration you can use:
[WEBDAV]
Username = username
Password = mysupersecretpassword
#Command = command_to_print_password
I would recommend not storing your password in plaintext and use gpg
, pass
or some other secure way to print your password from the command line without storing it unencrypted. That is why the 'Command' directive is supported in the configuration.
Additional Information:
Currently WebDav functionality has only been tested on an instance of Nextcloud.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file backutil-0.1.6.tar.gz
.
File metadata
- Download URL: backutil-0.1.6.tar.gz
- Upload date:
- Size: 4.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b8ce99c51170c3d176468b00e0e9227282b985e77f603b55fb6f51235995408 |
|
MD5 | 63d4e861a4775b469b8483104afc2273 |
|
BLAKE2b-256 | 0c1fd033ea901306a3227aad368c76fbbab32944ad81bd3e26f92b61475fb259 |
File details
Details for the file backutil-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: backutil-0.1.6-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab1dfcd3ccd86ac426b3de6385968e02c4e9dad064b284514ba215bfa77cedca |
|
MD5 | e632fcd72815f584e00095aaa4004868 |
|
BLAKE2b-256 | fa2d47b8b0737c3f28cf860f7406810e73796cc9266a5e05567bc33de0023359 |