Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This question already has an answer here:

There are fields on my server's control panel like this

Minute - Hour - Day of month - Month - Day of the week - Command

How can i create a cron job runs on first day of the month with this fields ?


share|improve this question

migrated from Nov 23 '09 at 20:05

This question came from our site for professional and enthusiast programmers.

marked as duplicate by Iain, Rex, mdpc, Ladadadada, Tom O'Connor Jun 2 '14 at 11:31

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

Is it a PHP question or a unix cronjob question? – powtac Nov 23 '09 at 17:34
sorry for php tag ! – Ahmet vardar Nov 23 '09 at 17:35
RTFM, man 5 crontab in this case – reinierpost Nov 23 '09 at 17:41
tired tired tired – kolypto Nov 23 '09 at 23:52
up vote 63 down vote accepted

This will run the command foo at 12:00AM on the first of every month

0 0 1 * * /usr/bin/foo

This article describes the various fields, look to the bottom of the page:

To add this to your cron file, just use the command

crontab -e
share|improve this answer
that looks ok i guess – Ahmet vardar Nov 23 '09 at 17:42
can i type * instead of 0 ? – Ahmet vardar Nov 23 '09 at 17:44
If you typed * instead of the first zero it would run every minute of the first day of the month, if you typed * for the second zero it would run every hour on the first day of the month. *'s for both would run every minute of every hour on that day. – rzrgenesys187 Nov 23 '09 at 17:46

use following:

@monthly     /home/user/

more information:

share|improve this answer

Will run /usr/bin/foo at 12:10am on the first day of the month.

10 0 1 * * /usr/bin/foo

Will run /usr/bin/foo at 3:10am on every day.

10 3 * * * /usr/bin/foo


updated the crons, it was a copy paste error, thanks Joy Dutta!

share|improve this answer
3:10am every day is 10 3 * * * /usr/bin/foo 12:10am on first day of month is 10 * 1 * * /usr/bin/foo – Joy Dutta Nov 23 '09 at 17:37
@Joy: No it's not; 10 * 1 * * is 10 past the hour, every hour, on the first day of the month. – womble Nov 23 '09 at 20:29

Check for a directory on your server at /etc/cron.monthly. If the directory exists, odds are your system is set up to run any executables it finds in that folder on a monthly basis. Just drop your script (or symlink it) in /etc/cron.monthly. Also, make sure your script is executable.

share|improve this answer

Something like:

0 0 1 * * command /directory/file.ext
share|improve this answer
what is that 'command' and the 1 is at the month of the year place! – Murali Nov 23 '09 at 17:36
you can do whatever you want with a cron, 99% of my usage has been: {TIMESTAMPS} {PHP_PATH} {FILE_PATH} – Andrew G. Johnson Nov 23 '09 at 19:12
@Murali: No it's not. – womble Nov 23 '09 at 20:30

Check this out: Class: PHP Cron

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.