Мне было любопытно, как люди обычно создают резервные копии своих веб-сайтов. Обычно я перетаскиваю данные с FTP и использую phpmyadmin для загрузки копии своих баз данных. Я уверен, что есть способ написать сценарий и сделать резервную копию ваших материалов автоматически или по щелчку. Как люди это делают? Можно ли использовать php для резервного копирования?
У меня тоже есть доступ по SSH.
ssh ${USER}@${SERVER} "tar czpf - /path/to/htdocs" > backup_${DATE}.tar.gz
Когда задействованы базы данных, это становится немного сложнее, но не слишком. (Выгрузите базу данных в файл, следя за кодировкой кодировки, затем включите дамп в архив.)
KISS концепция.
Вы можете использовать отдельный файловый сервер и cron для сброса базы данных с помощью php / sql через bash, а затем ftp на другой сервер по расписанию.
Полезные вещи в использовании: дамп mysql, cron, sftp, ssh.
Я использую mysqldump и tar. Но дьявол кроется в деталях, и это действительно зависит от специфики вашей системы. ОБЯЗАТЕЛЬНО убедитесь, что вы знаете свою кодировку: она должна быть (но не всегда) согласованной между вашим программным обеспечением CMS (например, Expression Engine, WordPress, Joomla и т. Д.), Вашей структурой (например, PHP), вашей базой данных (например, mysql) и это включает в себя индивидуальные настройки сопоставления таблиц И настройки клиента (в данном случае mysqldump; обязательно используйте параметр командной строки --default-character-set = utf8 или любую другую кодировку) . Если ваши данные закодированы одним способом, а вы делаете резервную копию с другой кодировкой и восстанавливаете эту резервную копию, ваши данные могут быть слегка повреждены. Все из; забавные символы, появляющиеся для двойных кавычек, дефисов, иностранных символов, умляутов, акцентов и т. д. - в худшем случае текстовые строки в сериализованных полях возвращаются с неправильной длиной, что приводит к сбою unserialize () php.
Более быстрый способ сказать все это: ПРОВЕРЬТЕ свои резервные копии! Часто!
Если у вас есть доступ к вашему серверу Linux, вы можете настроить задачи cron / crontab для копирования папок и файлов базы данных по сети / в более безопасное место.
я использую zyxBackup скрипт, который поддерживает шифрование файла окончательной резервной копии, поэтому вы можете легко сохранить его на общедоступном сервере FTP / SSH.
В метод резервного копирования легко реализовать.