rag*_*nny 1 cron ubuntu-server
可能重复:
Ubuntu for php上的Cron作业
我正在运行和ubuntu服务器,并希望每天运行一个PHP脚本.我做了一些研究,发现cron是最好的方法,但是,这就是我被卡住的地方,互联网上关于cron的很多信息很难理解.
所以我想每天执行一次简单的PHP脚本,我为测试所做的脚本只是从数据库中删除一条记录,但真正的脚本会做更多的事情.
我尝试通过我的网络主机服务提供的plesk设置任务,但它似乎没有执行我想要的时候,我用1分钟,22小时,*白天,*星期和*月,并认为这将在每天22:01执行.
我的服务器上有目录:cron.hourly cron.daily cron.weekly cron.monthly
我以为我可以在那里转储我的文件,它会每天执行,但我猜我需要制作一个cron脚本来调用PHP脚本吗?
如果我要把文件放在cron.daily文件夹中,我该怎么办呢?
另外,如果我需要在php端采取任何步骤,请告诉我?
非常感谢你的时间.
有几种方法可以设置cron作业.假设您有shell访问权限,您可以crontab -e从控制台进行操作并在那里定义工作,例如:
1 22 * * * command
Run Code Online (Sandbox Code Playgroud)
这会command在每天22:01 触发(无论是什么)(不知道为什么你设置分钟1而不是0).要从那里启动PHP脚本,您必须安装php-cli,然后以这种方式调用它:
1 22 * * * <path>/php -q script.php
Run Code Online (Sandbox Code Playgroud)
你也可以在这里调用bash脚本,设置路径等所有东西,然后调用你的php脚本形式bash - 有时这样做更简单,而不是为cron制作太长的命令行.以后更新它会更简单.另外,你可以通过设置执行位(chmod a+x script.php)并在你的脚本中添加shell行作为第一行来将你的php脚本变成bash-runnable 脚本:
#!/usr/bin/php -q
<?php
...
Run Code Online (Sandbox Code Playgroud)
如果您的脚本有太多的依赖项,而您更喜欢通过Web调用它,则可以使用wget模拟浏览器.所以你的意思command是:
/usr/bin/wget --delete-after --quiet --spider <URL-TO-YOUR-SCRIPT>
Run Code Online (Sandbox Code Playgroud)
wget的手册可以通过访问man wget或wget -h,或者是这个网站上.或者你可以使用HEADperl-www包,但它需要perl而wget是独立的工具.如果您使用HTTPS与自签名证书添加--no-check-certificate.您可能还希望设置.htaccess并限制对cron脚本的Web访问权限为localhost/127.0.0.1
| 归档时间: |
|
| 查看次数: |
19926 次 |
| 最近记录: |