Respostas:
Sua pergunta faz pouco sentido. Use cd
. Se você pedir a resposta para não usar, cd
porque você a tentou e não funcionou, provavelmente não a inseriu corretamente no crontab.
A maneira mais simples seria escrever um pequeno script de shell que executará o cd e executará sua tarefa principal e, em seguida, agendará o script.
&&
), mas também pode escrever um script separado que contenha todos os comandos e apenas colocar o caminho do script no cron, como sugerido por Daenyth. Seu script pode fazer algo como ler o diretório de um arquivo de configuração, se você quiser - o ponto é que, no entanto, você deseja inserir o nome do diretório em seu script, não há desculpa para não usá-lo cd
.
Basta especificar o caminho para o script. Não há necessidade de cd
:
0 12 * * * /path/to/script args
Se o seu script procura por arquivos em .
, então você vai ter que usar cd
:
0 12 * * * cd /some/dir && /path/to/script args
&&
, como na resposta que @WillSheppard vincula, seria melhor do que ;
porque &&
apenas executa o próximo comando se o comando anterior tiver êxito.