diff --git a/.gitea/workflows/backup.sh.yml b/.gitea/workflows/backup.sh.yml deleted file mode 100644 index 7cf1a23..0000000 --- a/.gitea/workflows/backup.sh.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: backup.sh -on: - push: - branches: [master] - workflow_dispatch: - -jobs: - bash: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Install dependencies - run: | - apt update && apt -y install rsync tar openssl shellcheck - - name: Run ShellCheck - run: | - shellcheck backup.sh - shellcheck tests.sh - - name: Install using Makefile - run: | - make install - - name: Run unit tests - run: | - ./tests.sh I_HAVE_READ_THE_HELPER diff --git a/Makefile b/Makefile deleted file mode 100644 index 68a4c2b..0000000 --- a/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -all: - install - -install: - mkdir -p /usr/local/bin /usr/local/etc - cp -R backup.sh /usr/local/bin/backup.sh - cp -R sources.bk /usr/local/etc/sources.bk - cp -R backup.sh.1 /usr/share/man/man1/backup.sh.1 - chmod 755 /usr/local/bin/backup.sh - chmod 644 /usr/local/etc/sources.bk - -uninstall: - rm -rf /usr/local/bin/backup.sh - rm -ff /usr/local/etc/sources.bk - rm -rf /usr/share/man/man1/backup.sh.1 diff --git a/README.md b/README.md index 92e17f3..bc9ac43 100644 --- a/README.md +++ b/README.md @@ -1,243 +1,3 @@ -# backup.sh ![](https://git.marcocetica.com/marco/backup.sh/actions/workflows/backup.sh.yml/badge.svg) +# backup.py -`backup.sh` is a POSIX compliant, modular and lightweight backup utility to save and encrypt your files. -This tool is intended to be used on small scale UNIX environments such as VPS, personal servers and -workstations. `backup.sh` uses [rsync](https://linux.die.net/man/1/rsync), [tar](https://linux.die.net/man/1/tar), -[gpg](https://linux.die.net/man/1/gpg) and [sha256sum](https://linux.die.net/man/1/sha256sum) -to copy, compress, encrypt the backup and verify the backup. - -## Installation -`backup.sh` is a single source file, to install it you can copy the script wherever you want. Alternatively, if you -are running a DEB/RPM distribution, you can install it with the following command: -```sh -$> sudo apt install ./bin/backup.sh-1.0.0.x86_64.deb # Debian -$> sudo dnf install ./bin/backup.sh-1.0.0-2.x86_64.rpm # RHEL -``` - -For any other UNIX system, you can use the following command: -```sh -$> sudo make install -``` -This will copy `backup.sh` into `/usr/local/bin/backup.sh`, `sources.bk` into `/usr/local/etc/sources.bk` and -`backup.sh.1` into `/usr/share/man/man1/backup.sh.1`. To uninstall the program along with the sample _sources file_ and the manual page, you can issue `sudo make uninstall`. - -At this point you still need to install the following dependencies: -- `Bash(v>=4)` -- `rsync` -- `tar` -- `gpg` - -## Usage -To show the available options, you can run `backup.sh --help`, which will print out the following message: -```text -backup.sh v1.0.0 - POSIX compliant, modular and lightweight backup utility. - -Syntax: ./backup.sh [-b|-e|-c|-V|-h] -options: --b|--backup SOURCES DEST PASS Backup folders from SOURCES file. --e|--extract ARCHIVE PASS Extract ARCHIVE using PASS. --c|--checksum Generate/check SHA256 of a backup. --V|--verbose Enable verbose mode. --h|--help Show this helper. - -General help with the software: https://github.com/ceticamarco/backup.sh -Report bugs to: Marco Cetica() -``` - -As you can see, `backup.sh` supports three options: **backup creation**, **backup extraction** and **checksum** to verify the -integrity of a backup. The first option requires -root permissions, while the second one does not. The checksum option must be used in combination of one of the previous options. - -### Backup creation -To specify the directories to back up, `backup.sh` uses an associative array -defined in a text file(called _sources file_) with the following syntax: - -```text -