This module manages cronjobs by placing a file in /etc/cron.d. It defines the following types:
Install in your puppet master's modulepath as a directory named 'cron'.
This module can install cron if needed - simply
include cron
The name of the job (quoted part after the opening '{' ) is completely arbitrary. However, there can only be one cron job by that name.
cron::job creates generic jobs in /etc/cron.d. It allows specifying the following parameters:
Example: This would run the command "mysqldump -u root mydb" as root at 2:40 AM every day:
cron::job{
'mysqlbackup':
minute => '40',
hour => '2',
date => '*',
month => '*',
weekday => '*',
user => 'root',
command => 'mysqldump -u root mydb',
environment => [ 'MAILTO=root', 'PATH="/usr/bin:/bin"' ];
}
cron::hourly creates jobs in /etc/cron.d that run once per hour. It allows specifying the following parameters:
Example: This would run the command "mysqldump -u root mydb" as root on the 20th minute of every hour:
cron::hourly{
'mysqlbackup_hourly':
minute => '20',
user => 'root',
command => 'mysqldump -u root mydb',
environment => "MAILTO=root\nPATH='/usr/bin:/bin'";
}
cron::daily creates jobs in /etc/cron.d that run once per day. It allows specifying the following parameters:
Example: This would run the command "mysqldump -u root mydb" as root at 2:40 AM every day, like the above generic example:
cron::daily{
'mysqlbackup_daily':
minute => '40',
hour => '2',
user => 'root',
command => 'mysqldump -u root mydb';
}
cron::weekly creates jobs in /etc/cron.d that run once per week. It allows specifying the following parameters:
Example: This would run the command "mysqldump -u root mydb" as root at 4:40 AM every Sunday, like the above generic example:
cron::weekly{
'mysqlbackup_weekly':
minute => '40',
hour => '4',
weekday => '0',
user => 'root',
command => 'mysqldump -u root mydb';
}
cron::monthly creates jobs in /etc/cron.d that run once per month. It allows specifying the following parameters:
Example: This would run the command "mysqldump -u root mydb" as root at 3:40 AM the 1st of every month, like the above generic example:
cron::monthly{
'mysqlbackup_monthly':
minute => '40',
hour => '3',
date => '1',
user => 'root',
command => 'mysqldump -u root mydb';
}