2010-01-10 23 views
6

Cron kullanımını gerektiren bir web uygulaması geliştiriyorum. Wordpress gibi bir otomatik kurulum işlemiyle kurulum yapmayı kolaylaştırmak isterim. Cron'u kurma zamanına kadar yükleme komut dosyasını yazarken sorun yaşamadım. Lütfen bunu yapabilir miyim söyle.Bir cron işini bir php betiğiyle kurun

cevap

9

Sadece o zaman, cron dosyası oluşturmak o cron'u kurmak kaptana kullanmak zorunda:

$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'); 

Bu PHP altında çalıştırılan kullanıcı crontab dosyalarına yapma hakkına sahip olmasını gerektirir. Bu cron dosyası, varsayılan olarak bu kullanıcı için diğer tüm crons'ları değiştirecektir, bu yüzden kullanıcıya cronu uygulamak isteyip istemediğini sorduğunuzdan emin olun. Ayrıca, crontab dosyasını yazdığınız klasörün yazılabilir olduğundan emin olun.

+0

Bunun için teşekkürler. –

+1

'chmod 0777' kullanmayın. Haklar asgari olarak sınırlandırılmalıdır, bu durumda '0600'. Daha önce de söylendiği gibi, PHP yorumcusunun crontab'ı düzenlemesine izin verilmeli ve bu durumda da aynı kullanıcıdan diğer cronjobs'larla çakışabilir. – deamon

+0

böylece CronTab Apache'ye erişemiyorsa, doğru değil mi? Korktuğum şey bu. –