Добавление временной метки
Часть раздела Основы путешествия по Terminal на Coddy — урок 78 из 82.
Задание
ЛегкоДавайте сделаем имя папки резервного копирования уникальным, добавив метку времени. Таким образом, каждая резервная копия будет создавать новую папку вместо перезаписи предыдущей.
Измените 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Итог - Конвейер данных