1. Проверяем, что папка, с которой надо сделать резервное копирование, существует. 2. Получаем текущую метку времени. 3. Формируем имя с нашей меткой времени для создания архива через tar утилиту
41 lines
1.3 KiB
Bash
Executable File
41 lines
1.3 KiB
Bash
Executable File
#!/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
|