从php创建crons

时间:2011-05-06 11:11:50

标签: php cron

我想在PHP中创建cron作业,有点像cPanel或Plesk,但我被卡住了。我想以编程方式执行此操作,而不是强制用户去cPanel手动创建crons .....

尝试了很多东西,阅读了很多东西......包括stackoverflow,没有任何作用。 我尝试从php编辑crontab,如shell_exec('crontab /pathtomycronfile/cron.txt'),然后编辑cron文件,但它不起作用。用户是'apache',我尝试为apache设置crontab ..也不起作用......

任何人都可以帮忙吗?你之前能从php创建cron作业吗?

2 个答案:

答案 0 :(得分:2)

在某些* nix系统下,crontab会将每个特定于用户的cron文件存储在例如/ var / spool / cron / crontabs / [USERNAME]。它们不打算直接编辑,但你可以让PHP这样做。

您可能还需要更改包含目录的权限,以便PHP可以查看该文件进行编辑。然后你可以这样做:

<?php
$user = get_current_user();
$cron_file = fopen("/var/spool/crontabs/$user", "a");
fwrite($cron_file, "\n* * * * * touch /tmp/testcron\n");
fclose($cron_file);

说实话,这非常危险。相反,您应该考虑使用cron.php,每15分钟调用一次,然后将所有逻辑放在cron.php中给定的四分之一小时内执行的实际任务中。不要编辑crontab以将逻辑放在那里。

答案 1 :(得分:0)

通常需要从主机提供商的Controlpanel创建Cron作业。 我不认为有一种方法可以从程序中完成。