【问题标题】:Overwrite File With Cron Job OR Multiple Entry Cron?使用 Cron 作业或多条目 Cron 覆盖文件?
【发布时间】:2014-02-16 00:09:07
【问题描述】:

我有以下 cron 作业

0   0 * * * /usr/bin/wget http://www.example.com/chron_sitemap.php

这基本上运行脚本以创建位于 sitemap.xml 的新站点地图

出现问题是因为站点地图已经存在,并且需要在创建之前覆盖或删除它。

我试过了

unlink('sitemap.xml'); 

但这会删除文件,即使它位于脚本的顶部,而我在底部

$xml->save("http://www.example.com/sitemap.xml");

它不起作用。我仍然得到一个 404 - 找不到页面。

我还考虑过使用另一个 cron 作业来删除所述文件,但这可能会在删除和创建之间留下间隙。

在这里进行的最佳方式是什么?如何进行?

谢谢!

PS:我正在使用 cPanel 来设置 chrons,如果这会有所不同的话。

【问题讨论】:

  • 使用本地文件系统路径 (dirname(__FILE__) . '/sitemap.xml') 保存文件。
  • @DCoder 谢谢 - 抱歉 :) 更新了拼写。如果我取出 unlink('sitemap.xml') ,保存文件就可以正常工作......一旦我添加它,它就不再存在了。所以它确实在适当的位置创建文件 - 问题是如果我删除它然后在同一个脚本中重新创建它,它就不起作用。我会试试你的建议。

标签: php apache cron


【解决方案1】:

此命令无效

$xml->save("http://www.example.com/sitemap.xml");

更好的使用

$xml->save("local path to file") //e.g $xml->save("/var/www/sitemap.xml");

将其实际存储在您的本地计算机上。

http://www.php.net/manual/de/domdocument.savexml.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 2023-03-08
    • 1970-01-01
    相关资源
    最近更新 更多