No crontab jak podałeś nadaję się do tego wspaniale. Albo wrzucasz jakiś kod powłoki wywołujący skrypt np. PHP z zapytaniami mysql_query które operuja na Twojej bazie danych do /etc/cron.monthly i konfigurujesz /etc/cron.d/crontab np. tak:
Kod
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=admin@localhost
NICE=15
# run-parts
01 * * * * root /bin/run-parts /etc/cron.hourly
02 1 * * * root /bin/run-parts /etc/cron.daily
02 2 * * 0 root /bin/run-parts /etc/cron.weekly
05 8 1 * * root /bin/run-parts /etc/cron.monthly
zajmijmy się wierszem z cron.monthly. Takie wywołanie jak tam, rozpocznie wykonywanie zleceonego zadania w pierwszym dniu każdego miesiąca o godz. 8.05. Zmieniamy zatem wywołanie na:
00 0 1 * * root /bin/run-parts /etc/cron.monthly
i powinno być tak jak chciałeś.
Możesz równiez po prostu #crontab -e
i wklepać od razu powłokowy interpreter PHP z wywołaniem Twojego skryptu
00 0 1 * * php /root/skrypt_bazy.php