Примитивный способ создания бекапа без использования rsync

1. Проверяем, что папка, с которой надо сделать резервное копирование,
существует.
2. Получаем текущую метку времени.
3. Формируем имя с нашей меткой времени для создания архива через tar
утилиту
This commit is contained in:
Виталий Туров 2024-11-25 21:14:38 +03:00
parent aa4fd2a954
commit 4f93f26605

40
bash/task2/backup.sh Executable file
View File

@ -0,0 +1,40 @@
#!/bin/bash
# Проверка аргументов
if [ "$#" -ne 2 ]; then
echo "Использование: $0 <путь_к_каталогу_для_резервной_копии> <путь_к_каталогу_для_сохранения>"
exit 1
fi
# Получаем аргументы
source_dir="$1"
backup_dir="$2"
# Проверяем, существует ли исходный каталог
if [ ! -d "$source_dir" ]; then
echo "Ошибка: Исходный каталог '$source_dir' не найден."
exit 1
fi
# Создаем каталог для резервных копий, если он не существует
mkdir -p "$backup_dir"
# Получаем текущее время
timestamp=$(date +"%Y%m%d_%H%M%S")
# Создаем имя файла резервной копии
backup_file="backup_${timestamp}.tar.gz"
# Полный путь к архиву
backup_path="${backup_dir}/${backup_file}"
# Создание архива
tar -czf "$backup_path" -C "$source_dir" .
# Проверка успешности создания архива
if [ $? -eq 0 ]; then
echo "Резервная копия успешно создана: $backup_path"
else
echo "Ошибка: Не удалось создать резервную копию."
exit 1
fi