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

Merged
walleri1 merged 1 commits from feature/task_2 into main 2025-02-15 11:31:37 +03:00
Showing only changes of commit 4f93f26605 - Show all commits

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