Резервное копирование базы данных MySQL с PHP, затем шифрование файла для загрузки на другой сервер - PullRequest
0 голосов
/ 14 августа 2011

Я прочитал несколько ТАК о связанных фрагментах кода и предложениях для этого, но я не думаю, что между ними был консенсус по моей задаче, поэтому я объединяю некоторые вопросы, чтобы задать их еще раз. Кроме того, остальные были довольно старыми, и я хотел бы получить обновленные ответы ...

Цель

  • Полностью сбросить базу данных SQL (таким образом, чтобы ее можно было импортировать обратно в MySQL, если база данных будет уничтожена ...). В идеале этот дамп sql может быть импортирован, например, через PHPMyAdmin.
  • Возьмите дамп, зашифруйте его через PHP5 (я думаю, с mcrypt ).
  • Возьмите зашифрованный файл и загрузите его на удаленный сервер через SSH2 в PHP.
  • Удалить локальный зашифрованный файл и локальный незашифрованный дамп.

На обороте - мне нужен доступ к сохраненной резервной копии

  • Вручную SFTP на удаленный сервер, где хранятся резервные копии.
  • Загрузка зашифрованной резервной копии.
  • Расшифруйте его.
  • Импорт вручную обратно в MySQL через PHPMyAdmin

Мне не нужен скрипт для обратного процесса. Если мне когда-нибудь понадобится резервное копирование, я уже глубоко вовлечен в процесс восстановления и запуска, поэтому расшифровка вручную не должна быть проблемой. Однако я хочу быть уверен, что знаю лучший способ сделать это, помимо чтения руководства по PHP ...

Ответы [ 2 ]

2 голосов
/ 21 августа 2011

Спасибо, Тим. Я нашел хорошее готовое решение в PHPMySQLAutoBackup. Я добавляю код, который будет зашифровываться с помощью GPG с использованием system () .. хотя на данный момент это не без моих трудностей. Я открою новый вопрос, если у меня будут проблемы с GPG ...

1 голос
/ 15 августа 2011

Звучит довольно просто, правда.

Если вы хотите написать скрипт на PHP, это нормально.Тем не менее, вам, вероятно, не нужно много функциональности PHP.В основном вы будете использовать простые управляющие структуры, shell_exec () , которые вы будете использовать для управления несколькими инструментами командной строки, такими как mysqldump, gpg (или другая криптографическая утилита), scp (чтобы отправить ваши данные вне сайта), и unlink (), чтобы удалить вашу локальную копию.

Похоже, вам просто нужны некоторые указатели для инструментов командной строки.Я упомянул тот, который я бы использовал выше.Кроме того, нужно просто собрать правильные строки командной строки и использовать exec () или shell_exec ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...