Бэкап на флешку с шифрованием
Вообщем то вот скрипт для резервного копирования всего чего нужно на флешку или другой носитель.
#!/bin/bash
declare -A BACKUP
declare -A BACKUP_EXCLUDE
# Список каталогов для резервирования через пробел.
BACKUP[my-user]="/home/my-user"
# Если нужно исключить какие то каталоги заносим их в этот массив через пробел
BACKUP_EXCLUDE[my-user]="/home/my-user/Tmp /home/my-user/Загрузки /home/my-user/Музыка /home/my-user/Видео"
# Каталог куда делаем бэкап
BACKUP_DIR=~/Tmp
function get_excludes () {
RES=""
if [[ -v "BACKUP_EXCLUDE[$1]" ]] ; then
for i in ${BACKUP_EXCLUDE[$1]}; do
RES="${RES} --exclude $(remove_slash $i)"
done
fi
echo ${RES}
}
function remove_slashes_from_str () {
RES=""
for i in $1; do
RES="${RES} $(remove_slash $i)"
done
echo ${RES}
}
function remove_slash () {
echo $(echo "$1" | sed 's:^/::g' | sed 's:/$::g')
}
for key in ${!BACKUP[@]}
do
tar -C / $(get_excludes $key) -c $(remove_slashes_from_str "${BACKUP[$key]}") | pigz | openssl enc -e -aes-256-cbc -pbkdf2 -out ${BACKUP_DIR}/${key}-`/bin/date +%Y-%m-%d`.tgz.enc
done
Для распаковки используем команду
openssl enc -d -aes-256-cbc -pbkdf2 -in my-user-*.tgz.enc |pigz -d | tar -x
[ Править ]