Como posso criar um diretório usando o crontab e depois de cinco minutos criar um arquivo txt dentro desse diretório?

1
Basicamente eu quero criar um diretório em algum tempo fixo e depois de exatamente cinco minutos, eu quero criar um arquivo de texto nesse diretório.

Eu tentei este código, mas não funcionou

6 13 * * * /usr/bin/mkdir /qwerty /usr/bin/touch file1
    
por harsh sharma 07.02.2017 / 10:25

2 respostas

2

Aqui está o comando que você pediu ao cron para executar:

/usr/bin/mkdir /qwerty /usr/bin/touch file1

Isso chama mkdir com parâmetros de árvore: /qwerty , /usr/bin/touch , e file1 . Portanto, mkdir tentará criá-los como diretórios. Você provavelmente pretendia executá-los como dois comandos separados:

 6 13 * * * /usr/bin/mkdir /qwerty
11 13 * * * /usr/bin/touch /qwerty/file1

Outro estilo faria isso como um marcador:

6 13 * * * /usr/bin/mkdir /qwerty && sleep 5m && /usr/bin/touch /qwerty/file1

Observe que o uso do cron para tarefas pontuais é estranho; como mencionado em um comentar a sua pergunta, um trabalho faria mais sentido.

Além disso, isso ainda falhará, a menos que o usuário tenha permissão para criar diretórios sob / .

    
por 07.02.2017 / 16:04
0
$ echo "mkdir test && sleep 300 && touch test/file" | at 06:13

Isso agendará o comando ecoado para ser executado às 06:13. Se 06:13 já tiver passado, será executado amanhã.

Qualquer resultado do trabalho será enviado para você.

O manual at das diferentes maneiras pelas quais você pode especificar a hora.

    
por 07.02.2017 / 16:19