Por que usar cd
no crontab assusta você?
Observe que, se você quiser apenas alterar temporariamente o diretório e depois voltar, poderá usar pushd
e popd
Como posso executar um comando que esteja em um diretório diferente para que o comando pense que eu o executei no diretório atual?
Se um comando estiver usando basename()
ou argv[0]
(ou seja o que for chamado) para obter o local de onde foi chamado, e requer arquivos em seu diretório, ele pode procurar no diretório do qual você chamou o aplicativo; isto é, o errado.
Naturalmente, você pode cd
para o diretório primeiro e invocá-lo lá, mas existe uma maneira de invocar o aplicativo para que ele ache que você o executou de seu diretório (sem cd
ing primeiro)?
Se for possível, vou usar isso em crontab
, já que o pensamento de usar cd
me assusta.
Você pode criar um script como este:
#!/bin/sh
cd /dir/
yourcommand
Em seguida, salve-o em algum lugar e adicione esse script para crontab