Добавление временной метки
Часть раздела Основы путешествия по Terminal на Coddy. Урок 78 из 82.
Задание
ЛегкоСделаем имя папки резервной копии уникальным, добавив метку времени (timestamp). Таким образом, каждая резервная копия будет создавать новую папку вместо перезаписи предыдущей.
Измените backup.sh, чтобы:
- Сохранить весь существующий код из предыдущего урока
- Заменить статическое имя
backup_dir="backup"на динамическое, включающее метку времени - Использовать подстановку команд с помощью команды
dateдля генерации метки времени в форматеYYYYMMDD_HHMMSS - Папка резервной копии должна называться:
backup_[timestamp]
Команда date со спецификаторами формата создает метки времени:
date +%Y%m%d_%H%M%SИспользуйте подстановку команд $(command), чтобы сохранить этот вывод в переменную:
timestamp=$(date +%Y%m%d_%H%M%S)
backup_dir="backup_$timestamp"Запустите скрипт и введите documents при запросе. Ваш вывод должен выглядеть следующим образом:
Backing up: documents
Created backup folder: backup_20240115_143052
Files copied successfullyМетка времени в вашем выводе будет отличаться в зависимости от текущей даты и времени.
Подсказка: Добавьте
timestamp=$(date +%Y%m%d_%H%M%S)перед определениемbackup_dir, затем используйтеbackup_dir="backup_$timestamp"для создания динамического имени папки.
Попробуйте сами
cat > backup.sh << 'EOF'
#!/bin/bash
read -p "Enter source directory: " source_dir
echo "Backing up: $source_dir"
backup_dir="backup"
mkdir -p "$backup_dir"
echo "Created backup folder: $backup_dir"
cp "$source_dir"/* "$backup_dir"
echo "Files copied successfully"
EOF
echo "documents" | bash backup.sh
ls backupВсе уроки раздела Основы
4Каталоги
Создать каталогСкопировать каталогПереместить и переименовать каталогУдалить каталогИтог - Операции с каталогами7Содержимое файлов
Head и TailПодсчёт словКоманда sortКоманда uniqОсновы grepGrep с флагамиПовторение - Текстовый детектив10Проект анализатора логов
Обзор проектаПросмотр файла лога2Навигация
Вывод текущей рабочей директорииСписок файловСмена директорииАбсолютные и относительные путиДомашняя и корневая директорииИтог - Найди свой путь8Перенаправление
Стандартный выводПерезапись в файлДописывание в файлСтандартный вводСтандартная ошибкаПовторение - Сборщик логов11Права доступа
Понимание прав доступаЧтение прав доступаChmod с числамиChmod с символамиВладение файламиПовторение - Заблокируйте доступ14Проект скрипта резервного копирования
Обзор проектаПолучение пути к источнику3Файлы
Создать файлПрочитать файлСкопировать файлПереместить и переименовать файлУдалить файлПовторение - Операции с файлами6Символы подстановки и шаблоны
Звёздный символ подстановкиВопросительный символ подстановкиСкобочные символы подстановкиКомбинирование символов подстановкиПовторение - выборочные операции9Каналы
Что такое каналЦепочка двух командЦепочка нескольких командКанал с grepИтог - Конвейер данныхПотренируйтесь самостоятельно: Песочница Terminal