权限的cron脚本?

我有一些PHP脚本,我需要安排每一个小时。

(a)如何从命令行/ shell安排它们?

(b)我应该对他们设置什么样的权限/所有权?


编辑1:

嗨,大家好 – 这个网站是由'apache'用户运行的。 哪个用户的cron脚本运行? 根或Apache或其他东西?

crontab -e将打开个人crontab的crontab编辑器,假设pipe理员允许他们。 在这里你会放一条线

 0 * * * * /usr/bin/php /home/matt_tm/php/runme.php 

每个脚本一次, /usr/bin/php是命令行php二进制文件的完整path,以及要运行的php文件的完整path。

这将运行脚本的每个小时,每个月的每一天,每个月,每一天的第0分钟(:00)(你可能要分散出来,所以一个脚本从0开始,一开始第五分钟等等)。 您个人的crontab中的命令是以您的账户运行的,所以您在这种情况下需要的所有脚本都是为了让您的账户能够读取脚本,执行php二进制文件,以及访问脚本所需的所有文件。

(a)您可以使用php-cli或wget / curl(其他实用程序)(b)执行权限。 如果php脚本需要创build该文件,请确保与运行的用户相同的权限。

安排他们,编辑他们应该运行的用户的cronfile。 “man crontab”应该告诉你如何做到这一点。

至于是什么所有权,这一切都取决于脚本应该做什么。 如果他们修改某个资源,那么脚本必须具有修改资源的用户或组权限(假设该资源是本地文件)。 通常在unix-like系统上最明智的做法是通过组权限。

作为DerfK答案的替代方法,您也可以使用该行开始每个PHP。

 #!/path/to/php 

并chmod该文件是可执行的。

你的crontab行现在看起来像这样:

 0 * * * * /path/to/php/script.php