Eu simplesmente quero apenas executar um comando (na verdade, é um script de shell) de um determinado diretório como um trabalho cron. Como posso executá-lo para que ele seja definido em um determinado diretório sem usar cd
.
16
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á-locd
.Basta especificar o caminho para o script. Não há necessidade de
cd
:Se o seu script procura por arquivos em
.
, então você vai ter que usarcd
:fonte
&&
, como na resposta que @WillSheppard vincula, seria melhor do que;
porque&&
apenas executa o próximo comando se o comando anterior tiver êxito.