Ahoj všem,
prosím o radu, jak pomocí CRON automaticky spouštět BASH skript. Na internetu je to na každé stránce jinak.
Co je z toho správně a jak byste úlohu konfigurovali vy?:
* * * * * /root/path/to/script.sh
* * * * * ./root/path/to/script.sh
* * * * * cd /root/path/to/ && ./script.sh
* * * * * . cd /root/path/to/; bash -lc ./script.sh
* * * * * . /root/path/to/; bash -lc ./script.sh
* * * * * cd /root/path/to/; bash -l -c ./script.sh
* * * * * . /home/username/.bashrc && yourcommand all of your args
Někdy mi přišlo, že se skript spustil, ale nevykonal se celý, nějaké jeho části byly ignorovány. Za to možná může prostředí env. Mělo by se to údajně řešit něčím jako definováním ENV (přímo do crontabu nebo do jednotlivých skriptů) nebo exportováním PATH a definoním SHELL.
Něco jako:
SHELL=/bin/bash
ENV=
EXPORT_PATH=
Jak to má být? Hádám, že env se dá nějak vypsat přes příkaz "env" a path přes "pwd", ale nevím kde jakou cestu si nechat vypsat a kam ji dát. Jestli env proměnnou přidat do crontabu. Mám v tom asi dost bordel, ale nemám v plánu být serveradmin, tak mi to snad odpustíte.
Děkuji všem za vysvětlení a rady.