你如何备份你的网站?

我很好奇人们通常如何备份他们的网站。 我通常从FTP拖放,并使用phpmyadmin下载我的数据库的副本。 我确信有一种方法可以让你编写一个脚本,让它自动备份或点击后,人们如何做到这一点? 是否有可能使用PHP来备份的东西?

我也有SSH访问。

ssh ${USER}@${SERVER} "tar czpf - /path/to/htdocs" > backup_${DATE}.tar.gz 

一旦涉及数据库,它会变得更加困难,但不是太多。 (将数据库转储到文件,同时注意字符集编码,然后将转储包含在tarball中。)

吻概念。

您可以使用单独的文件服务器和cron通过bash使用php / sql转储数据库,然后按照计划的时间表将其ftp到另一个服务器。

好东西要用: mysql dump ,cron,sftp,ssh。

我使用mysqldump和tar。 但是魔鬼是在细节上,而且这真的取决于你的系统的细节。 确保你知道你的编码:这应该是(但不总是)你的CMS软件(例如expression引擎,WordPress的,Joomla,无论),你的框架(如PHP),你的数据库(如MySQL)和这包括表格的单独归类设置,以及客户端的设置(在本例中为mysqldump;可以肯定,使用命令行选项–default-character-set = utf8,或者任何你的编码) 。 如果您的数据是以某种方式进行编码,并且您备份到另一种编码,并且还原该备份,那么您的数据可能会被细微损坏。 一切从; 有趣的字符显示为双引号,连字符,外国字符,元音变音和重音等等 – 在最糟糕的情况下,序列化字段中的文本string返回的长度很长,导致php的反序列化()失败。

一个更快的方式说这一切:testing你的备份! 经常!

如果您有权访问Linux服务器,则可以设置cron / crontab任务,以通过networking/在更安全的位置复制文件夹和数据库文件。

我使用支持最终备份文件encryption的zyxBackup脚本,因此您可以轻松地将其存储在公共FTP / SSH服务器上。

备份方法很容易实现。