问题的出现是因为 Magento Backup 设置了文件的权限。
有问题的工作是lib/Mage/Archive/Helper/File.php
在其中您可以找到一个功能public function open($mode = \'w+\', $chmod = 0666)
这会导致全局更改权限的问题。
如果您必须使用 Magento 的站点严重备份,那么您必须运行脚本来设置文件/文件夹权限。
ssh 命令(可以作为 shell 脚本运行)
对于通过 FastCGI、suPHP 或 LSAPI 运行 PHP 的 Magento:
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 500 pear
chmod 500 mage #for magento 1.5+
对于 PHP 在 Apache 下作为 DSO 模块运行的 Magento:
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod o+w var var/.htaccess app/etc
chmod 550 pear
chmod 550 mage #for magento 1.5+
chmod -R o+w media
为了让 Magento 正常工作, var/ 和 media/ 可能需要递归设置为 777
从 MagentoCommerce 权限设置页面,该页面也有一个 php 脚本链接大约一半,可以运行以设置权限。
另一种选择是转储 Magento 的备份系统,并使用tar
和mysqldump
. 注意:这将需要大量可用空间来临时存储 tar 文件,直到您下载它,除非您排除了 media/ 文件夹并以不同的方式进行媒体文件夹备份。
tar -czf magentobu.tgz --exclude="public_html/var/*" --exclude="public_html/media/catalog/product/cache/*" public_html
mysqldump -u $USER -p$PASS $DBASE > magentodb.sql
并将生成的文件复制到您的异地存储,无论是您的工作站、S3 存储桶还是 vps。
另一种选择是设置一个系统,您可以rsync
将您的 Magento 系统安装到该系统上,并提取一个每天创建一次的 mysql 转储文件。这样做,您可以获得一个连续的、最新的完整站点镜像,当您等待将备份拉到异地时,不会在服务器上产生额外的存储空间。