基本 cron 作业设置为每天执行 php 文件

Posted

技术标签:

【中文标题】基本 cron 作业设置为每天执行 php 文件【英文标题】:Basic cron job set up to execute php file daily 【发布时间】:2012-07-31 13:12:43 【问题描述】:

我是使用 cron 作业的新手。我正在尝试每天运行下面的脚本。 Go Daddy 是我的托管服务提供商。我尝试使用 Go Daddy 内置的 Cron Job Manager 创建一个 cron 作业,但没有成功。我想知道是否有人可以帮助我开始创建一个每天运行以下 php 脚本的命令。

有没有办法通过单独修改 .php 文件来设置?

感谢任何建议。

<?php 
            #!/usr/bin/php

            //Create mysql connect variable

            $conn = mysql_connect('host', 'user', 'pass');


            //kill connection if error occurs

            if(!$conn)

                die('Error: Unable to connect. <br/>' . mysql_error());

            

            //connect to mysql database

            mysql_select_db("mdb", $conn);



            $results = mysql_query("SELECT * FROM files");



            $name_array = Array();



            while($row = mysql_fetch_array($results))

                $name_array[] = $row['name'];

            

            shuffle($name_array);

            for($i=0; $i < 2; $i++)

                echo $name_array[$i];

            



        ?>

【问题讨论】:

您无需在代码中执行任何操作,只需将其设置为在 cron 作业管理器中运行 php /home/user/php_file_to_run.php 另外,停止使用mysql_* 函数。它们正在被弃用。请改用PDO 或mysqli。如果您不确定要使用哪一个,read this SO article. @Patrcik,感谢您的回复。 我将上面脚本的内容保存到 cron.php,作为 GoDaddy 的 cron 作业管理器上的“命令”上传到命令文件路径,但是,每次刷新时,“回显”数据似乎都会改变,即使我将其设置为每小时运行一次...? 【参考方案1】:

没有办法在文件中设置,必须用cron来设置。如果您有能力编辑 /etc/crontab,请添加以下行:

01 0 * * * root /usr/bin/php -f /path/to/page

否则,您必须按照说明进行操作 here,或联系 GoDaddy 了解其无法正常工作的原因。

【讨论】:

以上是关于基本 cron 作业设置为每天执行 php 文件的主要内容,如果未能解决你的问题,请参考以下文章

Cron作业执行php文件

cron 作业会杀死最后一个 cron 执行吗?

将 Cron 作业存储在哪里,它们会一直运行吗?

需要很长执行时间的 php 脚本的 Cron 作业

为 CLI 安装 PHP MCrypt

PHP 架构 - 每个用户的单个 cron 作业