python备份实用程序
backutil的Python项目详细描述
backutil
python备份实用程序
说明:
backutil
是pythontarfile
库的包装器。由于tarfile
是一个标准的python库,因此使用backutil
将提供一个跨平台的简单备份实用程序。
安装:
使用pip
:
sudo pip3 install backutil
用法:
❯ 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
命令示例:
将两个文件备份到.tar存档:
❯ backutil --path tmp.txt tmp2.txt --outfile ~/Documents/file.tar
备份并压缩到.tar.gz存档:
❯ backutil --path tmp.txt tmp2.txt --outfile ~/Documents/file.tar.gz -z
备份到.tar存档:
❯ backutil --path tmp.txt tmp2.txt --outfile ~/Documents/file.tar -v
备份并压缩到.tar.gz存档,抑制输出:
❯ backutil --path tmp.txt tmp2.txt --outfile ~/Documents/file.tar.gz -z -q
备份文件,将其压缩并作为文件.tar.gz上载到nextcloud用户的根目录中的nextcloud webdav:
❯ backutil --path tmp.txt tmp2.txt --outfile ~/file.tar.gz --webdav 'https://cloud.example.com:8080/' --remote file.tar.gz -z
备份文件,压缩它们并将存档文件作为file.tar.gz文件上传到nextcloud用户的根目录下的nextcloud webdav,然后删除本地存档文件:
❯ backutil --path tmp.txt tmp2.txt --outfile ~/file.tar.gz --webdav 'https://cloud.example.com:8080/' --remote file.tar.gz -z --rm
配置:
backutil支持存储详细信息的配置文件,该文件支持备份的非交互使用(以防您希望将backutil作为cron作业或类似的东西运行)。
将文件作为.backutil.conf
放在主目录中。目前,这是您可以使用的配置:
[WEBDAV]
Username = username
Password = mysupersecretpassword
#Command = command_to_print_password
我建议不要以明文形式存储密码,并使用gpg
、pass
或其他安全方式从命令行打印密码,而不将其存储为未加密的。这就是配置中支持'command'指令的原因。
附加信息:
目前,webdav功能只在nextcloud的一个实例上测试过。