我很好奇人们通常如何备份他们的网站。我通常从 FTP 拖放并使用 phpmyadmin 下载我的数据库副本。我相信有一种方法可以编写脚本并让它自动或单击时备份您的内容,人们是如何做到的?是否可以使用 php 来备份内容?
我也有 SSH 访问权限。
答案1
ssh ${USER}@${SERVER} "tar czpf - /path/to/htdocs" > backup_${DATE}.tar.gz
一旦涉及到数据库,事情就会变得有点困难,但也不会太难。(将数据库转储到文件中,同时注意字符集编码,然后将转储包含到 tarball 中。)
亲吻概念。
答案2
您可以使用单独的文件服务器和 cron 通过 bash 使用 php/sql 转储数据库,然后按照定时计划将其通过 ftp 传输到另一台服务器。
好用的东西:mysql 转储、cron、sftp、ssh。
答案3
我使用 mysqldump 和 tar。但魔鬼藏在细节中,这实际上取决于您系统的具体情况。请确保您知道您的编码:这应该(但并不总是)在您的 CMS 软件(例如 Expression Engine、WordPress、Joomla 等)、您的框架(例如 PHP)、您的数据库(例如 mysql)之间保持一致,这包括表的单独排序设置和客户端的设置(在本例中为 mysqldump;为确保万无一失,请使用命令行选项 --default-character-set=utf8 或您的任何编码)。如果您的数据以一种方式编码,并且您备份到另一种编码并恢复该备份,您的数据可能会被巧妙地破坏。从出现双引号、连字符、外来字符、变音符号和重音符等奇怪的字符到最坏的情况,序列化字段中的文本字符串返回错误的长度,导致 php 的 unserialize() 失败。
更快捷的说法是:测试您的备份!经常测试!