crontab a cada hora em texto com nome de formato

0

Eu quero fazer um crontab, que escreveria conteúdo com o nome do formato assim:

 content_YYYYMMDD_HHmmSS.txt // for example: log_20170811_1706.txt

Por favor me ajude. Sou novato em Linux.

    
por tokia burke 11.08.2017 / 11:59

1 resposta

1

O crontab é a tabela de cron-jobs, que são executados pelo daemon do cron, um processo que agenda trabalhos nas horas que você os fornece ( link ).

Para escrever algo em um arquivo, você terá que executar crontab -e para editar o crontab (veja também Como configuro um trabalho Cron? ).

Para gravar em um arquivo, que contém a data como nome, você terá que usar o comando date. Por exemplo, date +"%Y%d%m" imprime o que se chamaria AAAAMMDD. Você pode obter os detalhes do formato de data em man date .

Em resumo, você terá que escrever algo como

* * * * * echo "Test" > "/home/myuser/content_"$(date +"\%Y\%d\%m")".txt"

para escrever cada minuto "Test" no arquivo da data atual ( EDIT : como sugerido por steeldriver , você tem que escapar do%, em vez disso, ele será interpretado como nova linha pelo cron). Você deve ter um olho no fato de que isso é executado como seu usuário, então você deve escrever em um diretório onde você tem direitos para escrever.

    
por David Georg Reichelt 11.08.2017 / 12:38