欢迎各位兄弟 发布技术文章
这里的技术是共享的
原文地址 http://drupal.org/node/679054
本节提供有关如何备份网站,以及如何迁移一个网站(例如,从一台主机到另一台主机)的信息。
另外,还包括一些模块的备份,开发,迁移,导入的步骤
原文地址:http://drupal.org/node/22281
备份的最佳做法
•在更新或升级之前,备份整个网站(也是迁移,复制,移动,替换的最佳办法)
•日期备份。保存到一个目录或文件的每一个标题,包括备份的日期。当你试图恢复失败的网站,可以立即找到最新的备份是哪一个。
•每个备份副本保存在不同的位置而不在你的网络服务器。请记住,如果数据不存在在三个地方,它不存在。如果您的网络服务器崩溃,那么所有的备份文件可能消失(见刚才提到恐慌)。
•询问您的ISP或网络主机的备份策略。最良好的网络主机有一个备份计划,间隔24小时执行。如果你没有,你每天手动备份您的网站,或者找到一个能执行计划的主机。再次强调下,数据存在少于三个地方,如果一个网站的数据不存在,表示他不存在。
•除了您的主机的自动备份,需要定期自己做手动备份。根据您的网站的需求,定期运行一个单独的备份,每月,每周,每天.需要明白自己能忍受多大的数据损失。
•记录和测试您的备份和恢复程序之前,你需要通过论坛和及时通信工具找到一些经验或者教训。
•用逆向备份方法,恢复你的备份。
备份drupal网站,包括网站数据库和网站文件。
备份和恢复MySQL数据库的使用命令行覆盖在MySQL参考手册,在上一节的备份和恢复。请注意对MyISAM表为基础,引用的参考手册。如果你在数据库中使用InnoDB表,请特别注意MySQL参考手册,第14.2.8节。也有关于手册页做了备份和恢复使用bash shell脚本。
一个图形化的实用工具,例如phpMyAdmin的,也可以进行备份。还有在该网站上名为“ 我如何备份我的数据库或表的。“ 你还可以看看在phpMyAdminToolkit.Dump程序,根据其主页,是一个具有类似功能mysqldump的控制台应用程序。其是使用phpMyAdmin API的图形化工具。
如果你想备份一个更大的MySQL数据库与托管网 络空间的phpMyAdmin,你可能会遇到问题,因为经常有一个PHP处理时间限制。脚本MySQLDumper或者Bigdump是有效的解决方法。MySQLDumper还可以生成自动备份。
一种替代的解决方案是使用一个模块。备份和迁移,定时执行下载备份或保存在服务器上备份。您可以指定保存多少次的备份或者备份多久之后被删除。替代品数据库管理模块和备份模块都从Drupal本身备份数据库表(备份模块将备份您的文件。)
如果您使用的是非MySQL数据库,该供应商的文件应该有备份的信息。
安装的根目录中包含的所有文件,使Drupal正常工作。当然,你可能从 Drupal.org再次获得这些文件,但有自己的核心文件的副本是如此之快,高效。如果你在你的特定网站的核心文件编辑的东西,有一个核心文件的副本是必须的,因为该网站的变更是根目录的一部分。
作为一个建议,每月应备份的根目录中的所有内容。但升级之前始终备份核心文件。在手册的其他部分,但最佳实践意味着备份的核心应该是一个普通的习惯。做到这一点建议,每月备份。当灾难袭来时,你不会担心你所做的任何改变。
贡献模块和其关联的第三方文件应备份,以及每月。如果您在上一节以上所述的最佳实践,坚持将您的贡献模块的核心文件,默认情况下,备份的一部分,因为他们存在根Drupal安装目录内。如果你没有备份您的整个根目录每月的带宽或存储资源,您必须备份/网站/ /模块/(版本5.x)或/网站/ example.com /模块/(版本4.7和低)。如果不这样做,可能会失去你当前版本的例子。试想试图恢复您的网站,现在不知道从Drupal.org下载该版本的模块,你该怎么办。
也有文件,是不是数据库的一部分,核心,或到您的网站是重要的贡献模块。你指定的目录在”管理>站点配置>文件系统“保存上传的图片,用户的图标,和其他的东西,你不想失去。如果您正在运行您的网站,在“私人”文件传输模式,机会是好,这个/文件/目录是不是在你的根Drupal安装,因此不会被备份在“备份核心文件“里。。
/网站/目录是另一个,你应该注意,因为它拥有大量的事情涉及到您的网站,如徽标和嵌入式图像。自定义主题,也存放在这里。
在高流量的网站,每日2次备份,并保存在过去的8份备份。
原文地址:http://drupal.org/upgrade/backing-your-site-gui
备份你的drupal文件
使用ftp客户端,下载所有的drupal文件,保存到到本地"backup"文件夹。
备份你的数据库通过phpMyAdmin
•登录phpMyAdmin
•通过左侧下拉列表选择数据库..如果你升级一个网站,选择你的网站
• 点击”导出“选项卡
•点击”全部“
•选择”结构“和”数据“
•保存成文件
•点击”go“按钮,保存sql文件到桌面。
更详细请看
•http://drupal.org/node/120627
phpMyAdmin使用手册
大多数网站的更新没有发生任何事件发生,你开始之前,数据库转储时,成功的,可以被丢弃或归档。然而,偶尔的事情不要去计划,当发生这种情况往往不是必须恢复数据库的备份,而调查到什么地方出了错。
重要事项:更新前恢复备份之前,你必须确保完全清空数据 库。Drupal的更新可能会重命名表或表中的数据重新组合成新的表,这些表通常不会被删除,当你恢复数据库备份。(例如,虽然mysqldump的增加 DROP / CREATE缺省转储的表行,它不仅表,它知道。)如果没有被删除,这些“新”表将导致错误在下一次尝试更新,如果忽略这些错误,因为事情开始出现工作, 你可能会遇到的问题,由于重复数据,旧数据或只是普通的数据库损坏后。
最简单的办法就是删除数据库,创建一个新的数据库:
mysql -h HOST -u USERNAME -pPASSWORD
drop database `DB_NAME`;
create database `DB_NAME` charset utf8;
quit
如果你没有通过shell创建数据库的权限,你必须手动删除所有的数据库表,前提是你已经备份了数据。(填写适当的第一行)
MYSQL="mysql -h HOST -u USERNAME -pPASSWORD -D DB_NAME"<br />
$MYSQL -BNe "show tables" | awk '{print "set foreign_key_checks=0; drop table `" $1 "`;"}' | $MYSQL<br />
unset MYSQL
如果是共享数据库,你必须使用自己的表前缀。
一旦你确保所有数据库中的表已被删除,你可以恢复你的数据库备份使用:
mysql -h HOST -u USERNAME -pPASSWORD < your-db-dump.sql
原文地址:http://drupal.org/node/59369
这2个脚本协同工作完成备份和还原。
脚本有2个用途:
以下脚本已经在linux系统,和windows系统中(使用Cygwin)验证。功能概述
一个完整的Drupal备份需要从数据库和文件系统的数据备份。这两个备份,然后必须依赖对方。
备份脚本使用tar命令执行文件系统备份和使用mysqldump 执行数据库备份。这个备份可以压缩成一个tar文件。这个tar文件包括备份日期。
还原脚本,解压缩备份文件,解压缩网站文件,执行数据库还原。
Drupal的实例备份或还原的备份在恢复脚本中由定义的变量指定。
使用说明
每个脚本都有详细的说明。
多站点备份脚本http://drupal.org/node/310948
原文地址:http://drupal.org/upgrade/backing-your-site-command-line
备份文件
备份drupal目录下的文件到网站外的目录,下面介绍几种方法:
cp -rp /path/to/drupal_site /path/to/backup_dir
The option -rp
means copy recursive and preserve permissions.
请在drupal目录执行:
tar czf drupalbackup.tgz /path/to/drupal_site/
使用 use tar xzf drupalbackup.tgz
解压缩到新的文件夹.
备份数据库
备份数据库之前,请停止定时任务.
创建一个数据库备份:
mysqldump -u USERNAME -p DATABASENAME > /path/to/backup_dir/database-backup.sql
Drush sql-dump命令创建一个数据库备份. 请在drupal根目录下执行:
drush sql-dump > /path/to/backup_dir/database-backup.sql
用 drush help sql-dump可以获得更多的信息
If you have installed the module Backup & Migrate you can use the drush command bam-backup. From your Drupal directory execute:如果你安装了Backup & Migrate模块,你可以使用drush bam-backup命令,请在drupal根目录下执行:
drush bam-backup
drupal数据库脚本可以根据你的数据库设置自动连接数据库,并创建一个备份:
./drupalsqldump.sh sites/default/settings.php > /path/to/backup_dir/database-backup.sql
./drupalsqldump.sh includes/conf.php > /path/to/backup_dir/database-backup.sql
PostgreSQL dump
使用PostgreSQL dump 备份pg_dump -U [user] -h [host] [databasename] > dump.sql
或者pg_dump -U [user] -W -h [host] [databasename] -F c > dump.pg_restore.format
对于大数据库,极力推荐使用下面方法,通过pipe自动生成压缩包:
pg_dump -U [user] -W -h [host] [databasename] | gzip -c > dump.sql.gz
还原命令为: gunzip -c dump.sql.gz | psql [options]
原文地址http://drupal.org/node/776864
如果你变更了主机,或者保持开发和线上独立,你需要迁移你的drupal站点。这是一个线下工作,或许仅仅是一个检查列表,你需要根据你的需要和服务器环境作出相应的调整。这个过程包括单站,多站(多站在windows apache 或者 多站在linux)的迁移等。
记录源主机和目标主机安装的php任何差异,包括bugs,features,模块,配置,版本等,另外还有mysql 和 apache的差异。
准备一些工具和命令,譬如,如何上传和下载文件,管理两台机器上的MySQL等压缩文件,在mysq下更改权限和所有者。有Drupal的工具,包括其中 一些步骤,例如备份和恢复数据,但他们不是应对所有问题。你应该明白在这个过程中,那些工具能保证你,那些工具不利于迁移工程。
目标主机检查清单:你必须确认目标主机支持drupal需要的所有的特征(可写,可覆盖)。如果你从一个好主机迁移到一个此主机,drupal不能正常运行,可能不是你的迁移失败,而是目标主机不能正确支持drupal。
这些步骤需要在你自己的电脑上执行,和源主机和目标主机上执行不同。
在数据库的数据包括一些硬编码,这些可能不适合新的目标主机。你可以使用sql 查询来重建数据库并改变这些,或者你可以使用文本编辑器修改.sql文件。利用文本搜索可以得到一些意想不到的变更区域。如果很慢,你可以考虑以下:
sed -E -e "/^INSERT INTO \`(cache|watchdog|sessions)/d" < /path/to/dump.sql > /path/to/dump-stripped.sql
如果你移动一个在线网站从一个主机到另一台主机,你需要调整dns配置指向新的主机。
现在在目标主机上执行: