106

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?

BenMorel
  • 4,215
  • 10
  • 53
  • 81
Utku Dalmaz
  • 1,309
  • 2
  • 12
  • 18

6 Answers6

169

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: http://en.wikipedia.org/wiki/Cron

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

crontab -e
  • 3
    that looks ok i guess –  Nov 23 '09 at 17:42
  • can i type * instead of 0 ? –  Nov 23 '09 at 17:44
  • 15
    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. –  Nov 23 '09 at 17:46
  • According to that Wikipedia page, the third and fifth fields are treated as OR clauses of the run condition, and the right syntax should be `0 0 1 * ?` though my Vixie cron on Ubuntu 14 LTS refuses them – Marco Marsala Sep 16 '16 at 13:16
  • be careful when run `crontab -e` because it write the cron according to the current user than crontab command. – Francesco Mar 28 '17 at 07:03
  • thanks, How if we want to add 5 minutes ? – zukijuki Jul 05 '19 at 14:21
20

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

See http://www.scrounge.org/linux/cron.html


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

powtac
  • 639
  • 2
  • 6
  • 19
  • 1
    3:10am every day is `10 3 * * * /usr/bin/foo` 12:10am on first day of month is `10 * 1 * * /usr/bin/foo` –  Nov 23 '09 at 17:37
  • 1
    @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
  • 1
    According to that Wikipedia page, the third and fifth fields are treated as OR clauses of the run condition, and the right syntax should be `0 0 1 * ?`, though my Vixie cron on Ubuntu 14 LTS refuses them – Marco Marsala Sep 16 '16 at 13:21
  • The link does not seem to exist anymore – 030 Oct 10 '16 at 12:16
  • @030 link works for me. – powtac Oct 10 '16 at 16:45
15

use following:

@monthly     /home/user/backup.sh

more information:

alexus
  • 12,342
  • 27
  • 115
  • 173
2

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.

Asaph
  • 140
  • 5
0

Something like:

0 0 1 * * command /directory/file.ext
-1

Check this out: Class: PHP Cron

powtac
  • 639
  • 2
  • 6
  • 19