Adicionando um Timestamp
Parte da seção Fundamentos do Journey de Terminal da Coddy — lição 78 de 82.
Desafio
FácilVamos 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:
- Manter todo o código existente da lição anterior
- Substituir o estático
backup_dir="backup"por um nome dinâmico que inclua um timestamp - Usar substituição de comando com o comando
datepara gerar um timestamp no formatoYYYYMMDD_HHMMSS - A pasta de backup deve ser nomeada:
backup_[timestamp]
O comando date com especificadores de formato cria timestamps:
date +%Y%m%d_%H%M%SUse 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 successfullyO 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 definirbackup_dir, então usebackup_dir="backup_$timestamp"para criar o nome dinâmico da pasta.
Experimente você mesmo
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 backupTodas as lições de Fundamentos
4Diretórios
Criar um DiretórioCopiar um DiretórioMover e Renomear um DiretórioExcluir um DiretórioResumo - Operações com Diretórios7Conteúdo do Arquivo
Head e TailContagem de PalavrasComando SortComando UniqGrep BásicoGrep com FlagsResumo - Detetive de Texto10Projeto Analisador de Log
Visão Geral do ProjetoVisualizando o Arquivo de Log2Navegação
Imprimir Diretório de TrabalhoListar ArquivosMudar DiretórioCaminhos Absolutos vs RelativosDiretório Home e RaizResumo - Encontre Seu Caminho8Redirecionamento
Saída PadrãoSobrescrever em um ArquivoAnexar a um ArquivoEntrada PadrãoErro PadrãoRecapitulação - Construtor de Log11Permissões
Entendendo PermissõesLendo PermissõesChmod com NúmerosChmod com SímbolosPropriedade de ArquivosResumo - Trave Tudo14Projeto de Script de Backup
Visão Geral do ProjetoObtendo o Caminho de Origem3Arquivos
Criar um ArquivoLer um ArquivoCopiar um ArquivoMover e Renomear um ArquivoExcluir um ArquivoResumo - Operações com Arquivos6Curingas e Padrões
O Curinga AsteriscoO Curinga InterrogaçãoCuringas de ColchetesCombinando CuringasResumo - Operações Seletivas9Pipes
O Que é um PipeEncadeando Dois ComandosEncadeando Múltiplos ComandosPipe com GrepResumo - Pipeline de Dados