Sto cercando di convincere cron a chiamare i PATH corretti. Quando eseguo uno script Python dalla shell, lo script funziona bene poiché utilizza i PATH impostati in bashrc ma quando uso cron tutti i PATH non vengono utilizzati da bashrc. Esiste un file in cui posso inserire i PATH per cron come bashrc o un modo per chiamare i PATH da bashrc?
Scusa, non penso di averlo formulato correttamente, posso far eseguire lo script corretto (il che significa che il PERCORSO dello script in crontab non è il problema qui), è solo quando quello script è in esecuzione eseguo una build e questo usa il PERCORSI impostati in .bashrc
. Quando .bashrc
eseguo lo script quando ho effettuato l'accesso, i PERCORSI vengono inseriti. Poiché cron non viene eseguito in una shell per dire che non viene eseguito .bashrc
. C'è un modo per estrarlo senza dover scrivere un wrapper di script bash?
source /etc/profile
, dovrebbe mangiare .bashrc
e un sacco di altre cose potenzialmente mancanti per te. Il sourcing esplicito del profilo diventa piuttosto utile se vuoi che alcuni script vengano eseguiti "autonomamente", protegge anche da ambienti strani e quindi ...
sh
script chiamati da crontab. Puoi confermare che aggiorna il percorso aggiungendo un lavoro come * * * * * echo $PATH > ~/crontab_path.txt
e controllando il file dopo un minuto.