Como agendar um comando para executar alguns segundos após a inicialização?

3

Eu estava tentando usar @reboot /my/script em cron para executar um script em uma 10.04.4 VM em execução em VMware Fusion top print ifconfig para um arquivo em um diretório compartilhado, que é /mnt/hgfs/somedir . / p>

Não funcionou porque hgfs ainda não está montado como um diretório remoto quando o sistema é iniciado. É possível fazer algo como @reboot +10s para executar o cron job 10 segundos depois que o sistema for iniciado, quando eu posso realisticamente esperar que esse diretório remoto seja montado no sistema?

    
por amphibient 09.05.2014 / 00:21

2 respostas

3

Você pode simplesmente adicionar

sleep 10

para o início do seu script. Desta forma, o seu script irá "dormir" (esperar) 10 segundos antes de continuar.

    
por Louis Matthijssen 09.05.2014 / 00:28
2

Para uma opção mais robusta, seu cron job pode ser

 @reboot until [ -d /mnt/hgfs/somedir ]; do sleep 1; done; /my/script

Isso vai esperar até que o diretório realmente exista, então você não precisa adivinhar quanto tempo levará ou se preocupar que isso leve mais tempo.

    
por Nate Eldredge 09.05.2014 / 04:54