$phppath = exec('which php');
$user_file_path = getcwd();
$cronjob1 = "0 0 1 * * $phppath $user_file_path/index.php
automatic_updates/leave_update_cron";
// run each cron job
// get all current cron jobs
$output = shell_exec('crontab -l');
// add our new job
file_put_contents('/tmp/crontab.txt', $output.$cronjob1.PHP_EOL);
// once append the job, execute the new file
exec('crontab /tmp/crontab.txt');
4条答案
按热度按时间byqmnocz1#
可以在中创建文件
/etc/cron.d
并使用PHP的
file_put_contents()
更新文件。但是,您需要提升PHP或Apache的权限(取决于您的PHP处理程序)。不建议这样做,因为它会导致安全问题。如果使用Cron运行PHP脚本,那么可以每隔X次使用PHP直接调用脚本。在数据库中创建一个变量,表示脚本的最后运行时间。如果自脚本运行以来经过了X时间,则运行脚本并更新变量。如果脚本需要很长的时间来执行,那么使用PHP在一个单独的进程中运行它,这样用户就不必等待它完成。
谢谢
vxf3dgd42#
首先,您必须创建一个txt文件,例如crontab.txt,然后您必须使用shell脚本,如下所示
最后,你必须执行这个文件,就像
希望这对你有帮助。
sg24os4d3#
你可以使用shell脚本
您可以使用这些函数或类
6tr1vspr4#
谢谢你的回复,我现在得到了我的答案,根据回复,我试图使用php(codeigniter)添加一个新的cronjob到crontab文件:以下是我的答案
这将添加一个新的cronjob,而不会删除当前cronjob文件中的任何内容