From 337ccd9d711ecdd03ae3fad67fc121a1885b66c5 Mon Sep 17 00:00:00 2001 From: gospodar Date: Fri, 10 Feb 2023 21:18:09 +0100 Subject: [PATCH] Documentation --- README.MD | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++- backup.cfg | 6 +----- 2 files changed, 56 insertions(+), 6 deletions(-) diff --git a/README.MD b/README.MD index 85a4aa0..e3ce1d3 100644 --- a/README.MD +++ b/README.MD @@ -1 +1,55 @@ -### TODO \ No newline at end of file +# Backify 🗃️ + +I don't know why are You here, but I wouldn't be in Your skin. + + +## What's this ? 👾 +Backify is a shell script that helps You automate backup of all kind of data from Linux systems. + What makes it different ? Most of backup scripts are specialised for one kind of data backup, while here You get to pick what do You want saved, reaching from system logs all the way to containers. + It was tailored to personal needs since there was no complete solution for the specific use case. + +## How do I configure it ? 🧙‍♂️ +All of the options are included in the backup.cfg file. +The script has an integrity check for the configuration, so no external command can be embedded into it by any kind of malware. +See the table below for configuration options + +## Configuration options 🪄 + + + +|Name |Value |Specifics | +|----------------|-------------------------------|-----------------------------| +|Enabled|true/false |Disable the main function | +|www_backup|true/false |Backup of webroot directory | +|www_dir|------> |Path to webroot | +|vhost_backup|true/false |Backup of vhost configuration | +|vhost_dir |------> | Path to vhost files | +|log_backup |true/false |Backup log files | +|log_backup_web |true/false |Backup web app logs | +|apache |true/false |Enable Apache logs | +|nginx |true/false |Enable nginx logs | +|fail2ban_log |true/false |Enable fail2ban logs | +|log_purge |true/false |Truncate logs after backup | +|rsync_push |true/false |Push the backup file to remote server | +|push_clean |true/false |Delete the backup file after push | +|target_host |------> |Backup push target host | +|target_user |------> |Backup push target username | +|target_key |------> | Backup target ssh key | +|docker_enable |true/false |Enable Docker backups | +|docker_images |true/false |Backup Docker images | +|docker_volumes |true/false |Backup Docker volumes | +|docker_data |true/false |Backup container information | + + + +## ToooooooDoooooooo + + + + - [ ] Rsync implementation via shell + - [ ] Rsync implementation via Docker + - [ ] Cron scheduler + - [ ] RHEL/Ubuntu parser + - [ ] Automatic adjustments per system + - [ ] MySQL backups + - [ ] PostgreSQL backups diff --git a/backup.cfg b/backup.cfg index 31860aa..5960db6 100644 --- a/backup.cfg +++ b/backup.cfg @@ -28,8 +28,4 @@ target_key='/home/xyz/.ssh/rsync' # rsync key docker_enabled=false # will you use docker backup docker_images=false # backup docker images docker_volumes=false #backup docker volumes -docker_data=false #backup container information - -#Rsync -#Daily cron -#Mysql dbs \ No newline at end of file +docker_data=false #backup container information \ No newline at end of file