From e84cf81b1335720d256c002bb55439dcd862782b Mon Sep 17 00:00:00 2001 From: Fuxino Date: Thu, 1 Jun 2023 17:08:31 +0200 Subject: [PATCH 1/3] Add man page --- PKGBUILD | 11 ++++---- man/simple_backup.1 | 67 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+), 5 deletions(-) create mode 100644 man/simple_backup.1 diff --git a/PKGBUILD b/PKGBUILD index 6e03e11..3f2ebaa 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -29,13 +29,14 @@ sha256sums=('fd418a9c641d604c64bd0a8487b5ab431ff71f192d6021e55b194085951cb40d' build() { - cd ${srcdir}/${pkgname}-${pkgver} - python -m build --wheel --no-isolation + cd ${srcdir}/${pkgname}-${pkgver} + python -m build --wheel --no-isolation } package() { - cd ${srcdir}/${pkgname}-${pkgver} - python -m installer --destdir=${pkgdir} dist/*.whl - install -Dm644 ${srcdir}/${pkgname}-${pkgver}/${pkgname}.conf ${pkgdir}/etc/${pkgname}/${pkgname}.conf + cd ${srcdir}/${pkgname}-${pkgver} + python -m installer --destdir=${pkgdir} dist/*.whl + install -Dm644 ${pkgname}.conf ${pkgdir}/etc/${pkgname}/${pkgname}.conf + install -Dm644 man/${pkgname}.1 ${pkgdir}/usr/share/man/man1/${pkgname}.1 } diff --git a/man/simple_backup.1 b/man/simple_backup.1 new file mode 100644 index 0000000..c37cc03 --- /dev/null +++ b/man/simple_backup.1 @@ -0,0 +1,67 @@ +.TH SIMPLE_BACKUP 1 2023-06-01 SIMPLE_BACKUP 3.2.6 +.SH NAME +simple_backup \- Backup files and folders using rsync +.SH SYNOPSIS +.BR simple_backup +\-h, \-\-help +.PD 0 +.P +.PD +.BR simple_backup +[\-c, \-\-config FILE] +[\-i, \-\-input INPUT [INPUT...]] +[\-o, \-\-output DIR] +.PD 0 +.P +.PD +.RS 14 [\-e, \-\-exclude FILE|DIR|PATTERN [FILE|...]] +[\-k, \-\-keep N] +[\-s, \-\-checksum] +[\-\-remove\-before\-backup] +.RE +.SH DESCRIPTION +.BR simple_backup +is a python script for performing backup of files and folders. It uses rsync to copy the files to the specified location. +Parameters for the backup such as input files/directories, output location and files or folders to exclude can be specified +in a configuration file (default location $HOME/.config/simple_backup/simple_backup.conf) or directly on the command line. +Parameters specified on the command line will override those in the configuration file. +.SH OPTIONS +.TP +.B \-h, \-\-help +Print a short help message and exit +.TP +.B \-c, \-\-config FILE +Specify the configuration file, useful to specify a different one from the default. +.TP +.B \-i, \-\-input INPUT [INPUT...] +Specify the files and directories to backup. Multiple inputs can be specified, just separate them with a space. +If filenames or paths contain spaces, don't forget to escape them, or to use single or double quotes around them. +.TP +.B \-o, \-\-output DIR +Specify the directory where the files will be copied. The program will automatically create a subdirectory called +\(aqsimple_backup\(aq (if it does not already exist) and inside this directory the actual backup directory (using +the current date and time) +.TP +.B \-e, \-\-exclude FILE|DIR|PATTERN [FILE|...]] +Specify files, directories or patterns to exclude from the backup. Matching files and directories will not be copied. +Multiple elements can be specified, in the same way as for the \-\-input option +.TP +.B \-k, \-\-keep N +Specify how many old backups (so excluding the current one) will be kept. The default behavior is to keep them all +(same as N=\-1) +.TP +.B \-s, \-\-checksums +Same as rsync option \(aq\-\-checksum\(aq, use checksums instead of mod\-time and size to skip files. +.TP +.B \-\-remove\-before\-backup +Remove old backups (if necessary) before creating the new backup. Useful to free some space before performing the backup. +Default behavior is to remove old backups after successfully completing the backup. +.SH CONFIGURATION +An example configuration file is provided at \(aq/etc/simple_backup/simple_backup.conf\(aq. Copy it to the default location +($HOME/.config/simple_backup) and edit it as needed. +.SH SEE ALSO +.BR rsync (1) +.SH AUTHORS +.MT https://github.com/Fuxino +Daniele Fucini +.ME From e1ba388296732093832ec931b682897b8f8bffec Mon Sep 17 00:00:00 2001 From: Fuxino Date: Thu, 1 Jun 2023 17:18:42 +0200 Subject: [PATCH 2/3] Update version --- PKGBUILD | 6 +++--- simple_backup/__init__.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/PKGBUILD b/PKGBUILD index 3f2ebaa..8db5063 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -4,8 +4,8 @@ pkgname=simple_backup pkgdesc='Simple backup script that uses rsync to copy files' -pkgver=3.2.5 -pkgrel=3 +pkgver=3.2.7 +pkgrel=1 epoch=1 url="https://github.com/Fuxino/${pkgname}" install=simple_backup.install @@ -24,7 +24,7 @@ conflicts=('simple_backup-git') source=(${pkgname}-${pkgver}.tar.gz::https://github.com/Fuxino/${pkgname}/archive/${pkgver}.tar.gz https://github.com/Fuxino/${pkgname}/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.gz.sig) validpgpkeys=('7E12BC1FF3B6EDB2CD8053EB981A2B2A3BBF5514') -sha256sums=('fd418a9c641d604c64bd0a8487b5ab431ff71f192d6021e55b194085951cb40d' +sha256sums=('9a441bef4d0948d3a93fbfba5dc667fc1adbd0c58bba870461b77e76ff505c77' 'SKIP') build() diff --git a/simple_backup/__init__.py b/simple_backup/__init__.py index 3b5a160..60ded39 100644 --- a/simple_backup/__init__.py +++ b/simple_backup/__init__.py @@ -1,3 +1,3 @@ """Init.""" -__version__ = '3.2.5' +__version__ = '3.2.7' From 525f381094c31afc3c2dc29e4d05a1676b451ada Mon Sep 17 00:00:00 2001 From: Fuxino Date: Thu, 1 Jun 2023 17:23:58 +0200 Subject: [PATCH 3/3] Remove PKGBUILD Removed PKGBUILD since the packages is available in the AUR. Added a note about AUR in README.md --- PKGBUILD | 42 ------------------------------------------ README.md | 4 +++- 2 files changed, 3 insertions(+), 43 deletions(-) delete mode 100644 PKGBUILD diff --git a/PKGBUILD b/PKGBUILD deleted file mode 100644 index 8db5063..0000000 --- a/PKGBUILD +++ /dev/null @@ -1,42 +0,0 @@ -# PKGBUILD - -# Maintainer: Daniele Fucini - -pkgname=simple_backup -pkgdesc='Simple backup script that uses rsync to copy files' -pkgver=3.2.7 -pkgrel=1 -epoch=1 -url="https://github.com/Fuxino/${pkgname}" -install=simple_backup.install -arch=('any') -license=('GPL3') -makedepends=('python-setuptools' - 'python-build' - 'python-installer' - 'python-wheel') -depends=('python' - 'rsync' - 'python-dotenv') -optdepends=('python-systemd: use systemd log' - 'python-dbus: for desktop notifications') -conflicts=('simple_backup-git') -source=(${pkgname}-${pkgver}.tar.gz::https://github.com/Fuxino/${pkgname}/archive/${pkgver}.tar.gz - https://github.com/Fuxino/${pkgname}/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.gz.sig) -validpgpkeys=('7E12BC1FF3B6EDB2CD8053EB981A2B2A3BBF5514') -sha256sums=('9a441bef4d0948d3a93fbfba5dc667fc1adbd0c58bba870461b77e76ff505c77' - 'SKIP') - -build() -{ - cd ${srcdir}/${pkgname}-${pkgver} - python -m build --wheel --no-isolation -} - -package() -{ - cd ${srcdir}/${pkgname}-${pkgver} - python -m installer --destdir=${pkgdir} dist/*.whl - install -Dm644 ${pkgname}.conf ${pkgdir}/etc/${pkgname}/${pkgname}.conf - install -Dm644 man/${pkgname}.1 ${pkgdir}/usr/share/man/man1/${pkgname}.1 -} diff --git a/README.md b/README.md index 09632a5..c872282 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,9 @@ python -m build --wheel python -m installer dist/*.whl ``` -For Arch Linux, a PKGBUILD that automates this process is provided. +For Arch Linux and Arch-based distros, two packages are available in the AUR (aur.archlinux.org): +- **simple_backup** for the release version +- **simple_backup-git** for the git version After installing, copy simple_backup.conf (if you used the PKGBUILD on Arch, it will be in /etc/simple_backup/) to $HOME/.config/simple_backup and edit is as needed.