【问题标题】:Magento and Google Sitemap - CronMagento 和 Google 站点地图 - Cron
【发布时间】:2012-05-26 03:51:10
【问题描述】:

我是 Magento 的新手。 我正在尝试配置自动生成的 Google 站点地图。我到处阅读如何使用 cPanel 为 Magento 设置 cron 作业,如何从后端配置等等。

我当前的设置:在系统 -> 配置 -> Google 站点地图 -> 生成设置 -> 启用 = YES 下。我已经在 Catalog -> Google Sitemap 上创建了站点地图,当然,我可以毫无问题地手动生成。

但如果我检查文件 /app/code/core/Mage/Sitemap/etc/config.xml 它似乎没有更新(不同的内容 btw config.xml 和后端)。似乎文件系统的最后一次更新是在 2012 年 4 月 20 日而不是今天进行的。 (我还运行了 Fluch Magento 和 Storage Cache)

<generate>
    <enabled>0</enabled>
    <error_email/>
    <error_email_template>sitemap_generate_error_email_template</error_email_template>
    <error_email_identity>general</error_email_identity>
</generate>

有人可以帮帮我吗? 谢谢!

【问题讨论】:

  • 我担心翻译中丢失了一些东西——为什么生成站点地图会更新 config.xml?
  • 嗯.. 我关注了这篇文章:stackoverflow.com/questions/9175563/… 编辑 che .xml 配置是否正确,或者据我所知,.xml 仅用于默认值?
  • Mauro,一旦配置值在数据库中,它们将取代存储在 XML 文件中的所有数据。 cron 可以每 10 分钟运行一次,但站点地图的实际触发器只会在 Magento、小时、分钟等安排时触发。

标签: magento cron xml-sitemap


【解决方案1】:

在 Magento 和 Cron 设置中,使用 cron.sh 进行触发。我也相信信任但验证,这意味着设置 cron,然后实际查看 cron 作业输出表以正确运行。

进入您的高级系统配置并将 Cron Success History Lifetime 和 Failure Lifetime 都设置为 1440,以便您监控 24 小时的时间跨度。

您现在可以在时间流中看到索引操作等。在 24 小时的时间跨度内,您的成功工作部分将列出大约 300 个工作。

现在运行cron log monitor 来查看你的 cron 是否真的在运行。我遇到过很多次这个人说是的,但随后尝试验证它并在几次尝试后发现它就拉出来了。

下一个问题是声明 但是如果我检查文件 /app/code/core/Mage/Sitemap/etc/config.xml 它似乎没有更新。首先,这是一个配置模板,不会更新。启用是在数据库中完成的。您在 System -> Config -> Catalog -> Google Sitemap -> Generation Settings -> Enable = Yes 中检查它应该是设置,一旦保存,保持在 Yes。 Magento 参考存储在数据库中的这个设置,而不是 config.xml 来实际运行站点地图生成。

现在,如果您已在 Catalog -> Google Sitemap 下正确创建了站点地图,您的实际 sitemap.xml 文件上的日期/时间戳应该会开始更新。

【讨论】:

  • Edit from -- 到最后是我做的,只是为了上传Cron Monitor的图片。谢谢!
  • 我也可以确认它现在可以工作了:|从 cron.php 切换到 cron.sh 后……非常感谢!
【解决方案2】:

毛罗,

这样的 XML 只是默认数据,一旦保存在管理员中,就会进入数据库,这就是从那里开始的所有源,请参阅SELECT * FROM core_config_data WHERE path LIKE "sitemap/generate/time"; 了解运行时间,或SELECT * FROM core_config_data WHERE path LIKE 'sitemap/%'; 了解整体视图在 Magento 中为站点地图生成设置的所有选项。

正如赛斯所说,你需要有,

*/5 * * * * /bin/sh /absolute/path/to/magento/cron.sh

在您的网络用户的 crontab 中

【讨论】:

  • 我的 crontab 设置正确......使用 cPanel!我已经启用了 cron.php 每 10 分钟执行一次(它可以工作,因为我已经编辑了 PHP 代码,在底部添加了一些带有电子邮件发送的行,以检查文件是否被正确安排).. .. 然后我用原来的 cron.php 文件替换了。无论如何...它不会更新站点地图。不知道为什么:(
  • 您应该使用 sh 版本,因为它具有停止自身多次运行的逻辑,站点地图计划何时运行,cron 在您的解决方案中每 5 或 10 分钟运行一次,只是询问 Magento如果自上次检查后要运行任何内容,则需要每 5 分钟安排一次站点地图,而不仅仅是 cron。
【解决方案3】:

我没有在您的问题中看到它,但是,要使 cron 作业正常工作,您必须为您的 magento 安装设置实际的 cron 作业。尝试先将 cron.php 或 cron.sh 添加到您的 crontab:

示例:cron.sh

*/5 * * * *  /bin/sh /absolute/path/to/magento/cron.sh

【讨论】:

  • 已经完成,但是计划是在 cron.php 而不是 cron.sh 上激活的(我确信它每 1o 分钟一次)。但站点地图不会自动更新
猜你喜欢
  • 2012-02-28
  • 1970-01-01
  • 2013-04-20
  • 2013-10-31
  • 1970-01-01
  • 1970-01-01
  • 2015-07-20
  • 2013-05-01
  • 1970-01-01
相关资源
最近更新 更多