Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Install a cron job with a php script

Tags:

php

cron

I'm developing a web application that requires the use of Cron. I'd like to make it easy to setup with an auto install process like Wordpress. I have no problems writing the install script up en till its time to set up Cron. Please tell me if I can do this.

like image 875
Robert Hurst Avatar asked Jan 10 '10 13:01

Robert Hurst


1 Answers

You just have to create the cron file, then use exec to set up that cron:

$cron_file = 'cron_filename';
// Create the file
touch($cron_file); 
// Make it writable
chmod($cron_file, 0777); 
// Save the cron
file_put_contents($cron_file, '* * * * * your_command'); 
// Install the cron
exec('crontab cron_file');

This requires that the user which PHP is run under has the right to make crontabs. This cron file will by default replace any other crons for that user, so make sure to ask the user if he wants to apply the cron. Also make sure the folder you're writing the crontab file in is writable.

like image 115
Tatu Ulmanen Avatar answered Sep 21 '22 00:09

Tatu Ulmanen