Menu
Coddy logo textTech

Adicionando um Timestamp

Parte da seção Fundamentos do Journey de Terminal da Coddy — lição 78 de 82.

challenge icon

Desafio

Fácil

Vamos tornar o nome da pasta de backup único adicionando um timestamp. Dessa forma, cada backup cria uma nova pasta em vez de sobrescrever a anterior.

Modifique o backup.sh para:

  1. Manter todo o código existente da lição anterior
  2. Substituir o estático backup_dir="backup" por um nome dinâmico que inclua um timestamp
  3. Usar substituição de comando com o comando date para gerar um timestamp no formato YYYYMMDD_HHMMSS
  4. A pasta de backup deve ser nomeada: backup_[timestamp]

O comando date com especificadores de formato cria timestamps:

date +%Y%m%d_%H%M%S

Use a substituição de comando $(command) para capturar essa saída em uma variável:

timestamp=$(date +%Y%m%d_%H%M%S)
backup_dir="backup_$timestamp"

Execute o script e digite documents quando solicitado. Sua saída deve ser parecida com:

Backing up: documents
Created backup folder: backup_20240115_143052
Files copied successfully

O timestamp na sua saída será diferente com base na data e hora atuais.

Dica: Adicione timestamp=$(date +%Y%m%d_%H%M%S) antes de definir backup_dir, então use backup_dir="backup_$timestamp" para criar o nome dinâmico da pasta.

Experimente você mesmo

Terminal
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

Todas as lições de Fundamentos