Bash-скрипт для автотматизации бэкапа

Задача: создать скрипт для автоматического резервного копирования файлов и папок в Git-аккаунт, защищая их при этом AES-шифрованием.

Для системных администраторов, которые хотят использовать облако для управления своими файлами.

Bash-скрипт для автотматизации бэкапа

Меню
Bash: скрипт вызывающий специальные подскрипты в соответствии с выбором пользователя.

#!/bin/bash
cd /home/user/working-directory

# loop menu
while true; do

 # Display options
 echo "BACKUP TOOL"
 echo "................."
 echo "1 Backup 1"
 echo "2 Backup 2"
 echo "3 Backup 3"
 echo "................."

 # Read user input
 read -n 1 -p "Enter your choice (#) or exit (x): " choice
 echo

 # Perform the selected action based on user input
 case "$choice" in
   1)
     echo "Backup 1"
     ./script_1 ;;
   2)
     echo "Backup 2"
     ./script_2 ;;
   3)
     echo "Backup 3"
     ./script_3 ;;
   x)
  exit 0 ;;
   *)
    echo "Invalid choice..." ;;
 esac
done

Данный скрипт:

• скопирует файл(ы) или папку для резервного копирования в ваш Git-каталог.

• зашифрует его с помощью GPG AES256: вам будет предложено ввести пароль

• очистит каталог

• отправит зашифрованный файл в Git

#!/bin/bash

# WD
cd /home/user/git-directory

# copy file to backup
cp /home/user/other-directory/file.ext ./file.ext

# encrypt file using GPG AES256
gpg -c file.kdbx

# rename with date
now=$(date +%Y%m%d_%H%M)
mv file.kdbx.gpg ./"keep_$now.gpg"

read -p ">> Continue to GIT ? " -n1 -s

# Remove temp files
rm ./file.ext

# GIT operations
git pull
git add *.gpg
git commit -a -m "File backup"
git push

Для расшифровки файла (будет запрошен пароль):

gpg -d --output restored_file.ext ./*gpg
+1
0
+1
2
+1
0
+1
0
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *