Skip to content

Database backups, encrypts them with AES-256, transfers via FTP, deletes backups over 7 days old

License

Notifications You must be signed in to change notification settings

AndreiGam/echobackup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

EchoBackup

This Bash script manages database backups by utilizing mariadb-dump for backup creation. The script encrypts the backup with AES-256, transfers it to a remote server via FTP, deletes backups older than 7 days, and supports AES decryption.

Features

  • Prompt user for configuration values if they are missing.
  • Load configuration values from a file if it exists.
  • Save configuration values to a file if they don't exist already.
  • Perform a database backup using mariadb-dump.
  • Encrypt the backup file using AES-256.
  • Transfer the encrypted backup file to a remote server using FTP.
  • Delete old backup directories that are older than 7 days.
  • Decrypts a file using AES encryption algorithm

Requirements

  • MariaDB command-line tools (mariadb-dump)
  • OpenSSL (openssl)
  • LFTP (lftp)

Installation

  1. Make sure all the required tools are installed on your system.
  2. Download the backup.sh script to a desired directory.

Usage

  1. Open a terminal and navigate to the directory where the backup.sh script is located.
  2. Run the script with the following command:
./backup.sh

The script will prompt you for configuration values if they are missing and save them to a configuration file (config) for future use.

Decrypt Usage

./decrypt.sh <filename> <decryption_key>
  • <filename>: The name of the encrypted file that needs to be decrypted.
  • <decryption_key>: The key used for decryption.

License

This script is released under the MIT License.

About

Database backups, encrypts them with AES-256, transfers via FTP, deletes backups over 7 days old

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages