Menu
Coddy logo textTech

Добавление временной метки

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

challenge icon

Задание

Легко

Сделаем имя папки резервной копии уникальным, добавив метку времени (timestamp). Таким образом, каждая резервная копия будет создавать новую папку вместо перезаписи предыдущей.

Измените backup.sh, чтобы:

  1. Сохранить весь существующий код из предыдущего урока
  2. Заменить статическое имя backup_dir="backup" на динамическое, включающее метку времени
  3. Использовать подстановку команд с помощью команды date для генерации метки времени в формате YYYYMMDD_HHMMSS
  4. Папка резервной копии должна называться: 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

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

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