Spôsob akým Drupal spúsťa cron skripty sa mi vôbec nepozdáva a to hneď z niekoľkých dôvodov. Na to aby sme mohli spustiť cron potrebujeme mať vlastne nainštalovaný lynx alebo curl, ktorý spraví dotaz na www.example.com/cron.php čo môže viesť k zbytočným problémom. Napríklad ak vyvíjame web, na ktorom chceme pravidelne spúštať cron skripty, ale pritom naň máme obmedzený prístp cez htaccess alebo máme server s Drupalom vo VPNke tak nám tento klasický spôsob veľmi nepomôže.
Riešeným tejto situácie je použiť drush a napísat si naozaj jednoduchý shell skript, ktorý bude spúštať drush s potrebným parametrami. Trošku bližšie popíšem skript nižšie. Parameter roothovori o koreňovom adresari, v ktorom sa nachadza Drupal webka, pre ktorú chceme spúšťať cron. Parameter quiet zablokuje vypisovanie hlášok drushu nieco také by sme vedeveli napísať aj takto drush cron >> /dev/null.
#!/bin/sh drush --root=/var/www/moj-drupal-projekt --quiet cron
Samozrejme ešte je nutné skript umiestniť pod ľubovoľným názvom na správne miesto. Uložíme ho do adresára /etc/cron.daily, ktorý zaručí spúšťanie skriptu pravidelne každý deň. Okrem tohto adresára máme ešte /etc/cron.hourly, /etc/cron.monthly, /etc/cron.weekly, ktorých význam je jasný z ich názvu. Poprípade ak chceme mať vlastný časový interval môžeme použít príkazcrontab -e.