Menu
Coddy logo textTech

Сообщение об успехе

Часть раздела Основы путешествия по Terminal на Coddy. Урок 79 из 82.

challenge icon

Задание

Легко

Давайте завершим скрипт резервного копирования, добавив итоговое сообщение об успешном выполнении, которое суммирует, что было скопировано.

Измените backup.sh следующим образом:

  1. Сохраните весь существующий код из предыдущего урока (версия backup.sh в вашей рабочей области показана ниже)
  2. После сообщения "Files copied successfully" добавьте итоговую строку
  3. Выведите: Backup complete: [source_dir] -> [backup_dir]

Скрипт в конце предыдущего урока выглядел так:

#!/bin/bash
read -p "Enter directory to backup: " source_dir
echo "Backing up: $source_dir"
backup_dir="backup_$(date +%Y%m%d_%H%M%S)"
mkdir "$backup_dir"
echo "Created backup folder: $backup_dir"
cp "$source_dir"/* "$backup_dir"/
echo "Files copied successfully"

Быстрее всего отредактировать его можно, полностью перезаписав файл с помощью cat > backup.sh << 'EOF' ... EOF и добавив новую строку перед закрывающим EOF.

Запустите скрипт и введите documents в ответ на запрос. Ваш вывод должен выглядеть так:

Backing up: documents
Created backup folder: backup_20240115_143052
Files copied successfully
Backup complete: documents -> backup_20240115_143052

Временная метка в вашем выводе будет отличаться в зависимости от текущих даты и времени.

Поздравляем! Вы создали полноценный скрипт резервного копирования, который:

  • Запрашивает у пользователя исходный каталог
  • Создаёт папку резервной копии с временной меткой
  • Копирует все файлы в резервную копию
  • Предоставляет понятную информацию на каждом шаге

Подсказка: Добавьте echo "Backup complete: $source_dir -> $backup_dir" в конец скрипта, чтобы отобразить итоговое сообщение.

Попробуйте сами

Терминал
cat > backup.sh << 'EOF'
#!/bin/bash
echo "Enter folder to backup:"
read folder
echo "Backing up: $folder"
timestamp=$(date +%Y%m%d_%H%M%S)
backup_dir="backup_$timestamp"
mkdir "$backup_dir"
echo "Created backup folder: $backup_dir"
cp "$folder"/* "$backup_dir"/
echo "Files copied successfully"
EOF
chmod +x backup.sh
echo "documents" | bash backup.sh

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Terminal