Сообщение об успехе
Часть раздела Основы путешествия по Terminal на Coddy. Урок 79 из 82.
Задание
ЛегкоДавайте завершим скрипт резервного копирования, добавив итоговое сообщение об успешном выполнении, которое суммирует, что было скопировано.
Измените backup.sh следующим образом:
- Сохраните весь существующий код из предыдущего урока (версия
backup.shв вашей рабочей области показана ниже) - После сообщения "Files copied successfully" добавьте итоговую строку
- Выведите:
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Все уроки раздела Основы
4Каталоги
Создать каталогСкопировать каталогПереместить и переименовать каталогУдалить каталогИтог - Операции с каталогами7Содержимое файлов
Head и TailПодсчёт словКоманда sortКоманда uniqОсновы grepGrep с флагамиПовторение - Текстовый детектив10Проект анализатора логов
Обзор проектаПросмотр файла лога2Навигация
Вывод текущей рабочей директорииСписок файловСмена директорииАбсолютные и относительные путиДомашняя и корневая директорииИтог - Найди свой путь8Перенаправление
Стандартный выводПерезапись в файлДописывание в файлСтандартный вводСтандартная ошибкаПовторение - Сборщик логов11Права доступа
Понимание прав доступаЧтение прав доступаChmod с числамиChmod с символамиВладение файламиПовторение - Заблокируйте доступ14Проект скрипта резервного копирования
Обзор проектаПолучение пути к источнику3Файлы
Создать файлПрочитать файлСкопировать файлПереместить и переименовать файлУдалить файлПовторение - Операции с файлами6Символы подстановки и шаблоны
Звёздный символ подстановкиВопросительный символ подстановкиСкобочные символы подстановкиКомбинирование символов подстановкиПовторение - выборочные операции9Каналы
Что такое каналЦепочка двух командЦепочка нескольких командКанал с grepИтог - Конвейер данныхПотренируйтесь самостоятельно: Песочница Terminal