今天看到 magento 目录下的 sitemap.xml 的属主和属组分别是 root:root,属性是644,而这一台的 webserver 是以 apache:apache 身份运行的,所以我觉得很奇怪:
- apache 怎么能建立一个 root:root 的文件?
- 如果这个文件不是 apache 建的,apache 怎么有权去更新它(最近更新就在今天)?
想了好一会明白过来,sitemap.xml 是 cron job 建的,crontab 这么写
*/10 * * * * /usr/bin/php -f /path/to/magento/cron.php
那么 sitemap.xml 归 root:root 所有就不奇怪了。
我想这样写会好些:
*/10 * * * * sudo -u apache -g apache /usr/bin/php -f /path/to/magento/cron.php
2010年6月29日更新:上行命令不对,设想在 cron job 里以 apache 身份运行 cron.php,但出错。正确的写法应该是:
*/10 * * * * su -c '/usr/bin/php -f /path/to/magento/cron.php' -s /bin/bash apache
Leave a Reply