User Tools

Site Tools


wiki:linux:comandos:comando_combinados_com_date

Exemplos combinando mv, cp, echo, tar com date

Nível Básico

  • Combinar `cp` com `date` para fazer backups com timestamps:
    1. cp arquivo.txt arquivo_$(date +%Y%m%d_%H%M%S).txt
    2. Copia o arquivo `arquivo.txt` e cria uma cópia com um nome que inclui a data e a hora atual, como `arquivo_20241012_145000.txt`.
  • Combinar `mv` com `date` para renomear arquivos com timestamps:
    1. mv log.txt log_$(date +%Y%m%d).txt
    2. Renomeia o arquivo `log.txt` para `log_20241012.txt`, utilizando a data atual.
  • Usar `echo` e `date` para criar logs com timestamps:
    1. echo "Backup iniciado em: $(date)" >> backup.log
    2. Adiciona uma linha ao arquivo `backup.log` com o horário exato em que o backup foi iniciado.
  • Combinar `tar` e `date` para criar um arquivo tar com a data atual no nome:
    1. tar -czvf backup_$(date +%Y%m%d).tar.gz /diretorio_para_backup
    2. Compacta o diretório `/diretorio_para_backup` em um arquivo `.tar.gz`, adicionando a data atual no nome do arquivo (`backup_20241012.tar.gz`).

Nível Intermediário

  • Criar backups diários com `cp` e `date`:
    1. cp arquivo.txt /backup/arquivo_backup_$(date +%Y%m%d).txt
    2. Copia o arquivo `arquivo.txt` para a pasta `/backup/`, adicionando um timestamp no nome do backup para diferenciá-lo por dia.
  • Usar `echo` em um loop com `date` para gerar entradas de log contínuas:
    1. while true; do echo "Registro de log às: $(date)" >> log.txt; sleep 60; done
    2. Gera uma entrada de log a cada 60 segundos com a data e hora atuais e adiciona ao arquivo `log.txt`.
  • Criar múltiplos arquivos de backup em sequência com `tar` e `date`:
    1. for dir in dir1 dir2 dir3; do tar -czvf backup_${dir}_$(date +%Y%m%d).tar.gz $dir; done
    2. Cria backups compactados (`.tar.gz`) dos diretórios `dir1`, `dir2`, e `dir3`, cada um com a data atual no nome do arquivo.
  • Usar `date` em scripts para mover arquivos antigos com `mv`:
    1. mv arquivo_antigo.txt /backup/arquivo_antigo_$(date +%Y%m%d).txt
    2. Move o arquivo `arquivo_antigo.txt` para a pasta `/backup/`, adicionando a data atual ao nome do arquivo.

Nível Avançado

  • Criar um arquivo de log com data e hora da execução:
    1. tar -czvf backup.tar.gz /diretorio_a_ser_compactado > log_$(date +%Y%m%d_%H%M%S).txt
    2. Cria um arquivo tar e gera um arquivo de log com a data e hora exatas da execução.
  • Mover arquivos automaticamente para um diretório com a data do dia:
    1. mv *.log /logs/$(date +%Y%m%d)/
    2. Move todos os arquivos `.log` para um diretório cujo nome é a data atual (ex.: `/logs/20241012/`).
  • Adicionar timestamps a cada linha de um comando em execução (ex.: ping):
    1. ping -c 5 google.com | while read line; do echo "$(date +%H:%M:%S) $line"; done
    2. Executa o comando `ping` e adiciona um timestamp à saída de cada linha.
  • Arquivar logs antigos em um tar com data:
    1. tar -czvf logs_$(date +%Y%m%d).tar.gz *.log
    2. Compacta todos os arquivos `.log` em um arquivo `.tar.gz`, adicionando a data atual ao nome.

Nível Especializado

  • Sincronizar a data e hora com um servidor NTP:
    1. sudo ntpdate ntp.servidor.com
    2. Sincroniza a data e hora do sistema com um servidor NTP (Network Time Protocol).
  • Usar `date` para gerar um arquivo de log com timestamps contínuos:
    1. while true; do echo "Log $(date +%Y-%m-%d\ %H:%M:%S)" >> log.txt; sleep 10; done
    2. Cria um loop que adiciona uma entrada de log com timestamp a cada 10 segundos no arquivo `log.txt`.
  • Calcular o tempo restante até uma data futura:
    1. data_futura=$(date -d "2024-12-31 23:59:59" +%s)

      <br>

data_atual=$(date +%s)

<br>

    <code>echo "$(( ($data_futura - $data_atual) / 86400 )) dias restantes"</code>
  - Calcula o número de dias restantes até o `31 de dezembro de 2024`.
  • Gerar timestamps contínuos para uso em scripts de automação:
    1. for i in {1..5}; do echo "Processo $i iniciado em $(date +%Y-%m-%d\ %H:%M:%S)"; sleep 1; done
    2. Gera timestamps contínuos com uma pausa de 1 segundo entre cada execução, ideal para monitoramento de processos.
wiki/linux/comandos/comando_combinados_com_date.txt · Last modified: by Wiki Administrator