Dnes jsem odhalil slušnou chybu v jednom cronu, tak se Vám s tím pochlubím a vypíchnu zároveň nejčastější zbytečné chyby.
Když voláte skript z cronu, tak si pohlídejte následující:
1) Sedí mi počet hvězdiček? Maximum hvězdiček může být 5 a tedy každou minutu, každou hodinu, každý den v měsíci, každý měsíc, každý den v týdnu.
3 3 * * * root /root/.cron-scripts/zalohuj.sh
2) Není ideální spouštět některé skripty za roota kvůli bezpečnosti!
3) Sedí mi cesta? Má soubor správná práva pro spouštění?
4) Když už soubor spustím a volám v něm další skript třeba ./dalsi.sh dal jsem si předtím cestu explicitně na cd /cesta/ke/skriptu/kde/se/naleza/prave/spusteny/skript/zalohuj.sh ? Jen kvůli takové hovadině se mi stalo, že se mi to nespustilo. Takže dávejte si na to bacha!
5) Než dáte skript na ostro do praxe, dejte si ho spustit každou minutu, ať víte, že to fakt dělá, co to dělat má. Není nic horšího, než když zjistíte po měsíci, že se někde objevil problém, se kterým jste nepočítali. A ještě horší je docházející místo na disku a nějaké „zálohování“, které jste zkrátka nedotáhli do konce.
6) Buďte schopni dát za svoje bash skripty ruku do ohně! (když už je spouštíte přes cron).
7) Kdybyste nabyli podezření, že je něco divného, zkuste to vypnout a zapnout! [IT crowd]
pomocí: /etc/init.d/cron restart
8) Kdyby to neběželo, tak:
SHELL=/bin/sh
zaměňte za
SHELL=/bin/bash
v /etc/crontab a restartujte cron pomocí: /etc/init.d/cron restart
Enjoy 😉