Primeiro usuário crontab, tentando aprender colocando data / hora periodicamente em stdout

0

Estou tentando aprender a usar o crontab para executar regularmente comandos bash. Eu pensei em tentar algo simples primeiro, como ter o crontab lendo a data e a hora a cada minuto. Mas quando tento fazer isso, acontece o seguinte:

Nicholass-MacBook-Air-2:cron_test nick$ crontab 1 * * * * date
crontab: 1: No such file or directory

Como faço para que isso funcione?

Obrigado,

Nick

    
por user165209 17.10.2016 / 03:07

2 respostas

0

insira a linha abaixo no seu terminal

crontab -e

coloque a linha abaixo e salve o arquivo.

1 * * * * date >> /tmp/output.txt

depois de um minuto, veja o arquivo de saída

cat /tmp/output.txt
    
por 17.10.2016 / 03:21
0

O comando crontab não aceita a entrada da tarefa agendada na linha de comando. Para adicionar uma entrada de tarefa cron, execute crontab -e para abrir um editor.

No macOS, isso não funcionará, portanto, você deve preparar um arquivo de texto com a entrada cron nele e alimentar esse em crontab :

$ vi crontab.txt   # use whatever editor you want

Lá, adicione a entrada:

* * * * * date >>/tmp/date.out

Esta entrada irá agendar o comando date para ser executado a cada minuto, para sempre (ou até que a tarefa cron seja excluída), e gravará sua saída em /tmp/date.out , adicionando uma nova linha de saída toda vez que for executada .

Salve o arquivo e saia do editor.

Então, para carregar realmente a entrada do cron:

$ crontab crontab.txt

Note, entretanto, que isso substitui todas as entradas existentes do crontab para o usuário atual , se houver algum.

Para adicionar uma entrada no macOS, preservando as entradas já existentes, primeiro crie crontab.txt com as entradas existentes do crontab e edite o arquivo e carregue-o de volta em:

$ crontab -l >crontab.txt
$ vi crontab.txt
$ crontab crontab.txt

Para remover as entradas all , use crontab -r .

O Cron no macOS também entende os nomes curtos @reboot , @hourly , @daily , @weekly etc. para tempos de programação específicos. Consulte o crontab(5) manual no seu sistema para mais informações ( man 5 crontab ).

    
por 23.09.2017 / 12:22

Tags