Бекап базы данных в Dropbox

Nov 10, 2011 18:54


Запись опубликована Knave. Please leave any comments there.

Как гласит древняя китайская поговорка: «Все люди делятся на тех, кто уже делает бэкапы, и на тех, кто еще не делает».

Вот и я в очередной раз задумался о необходимости дополнительных бекапов. Основные требования такие:
  • Легкий доступ, по возможности отовсюду (никогда не знаешь, когда и где потребуется доступ к резервной копии)
  • Относительно большой дисковый объем
  • Низкие накладные расходы

Для этого очень подходит Dropbox. Для загрузки бекапа в Dropbox я использую класс от Jaka Jančar.

Выглядит это так:

$dumpFile = $_SERVER['DOCUMENT_ROOT'] . CONFIG_TEMP_PATH . '/avtobeginner-' . date("d-m-Y_H-i-s") . '.sql'; $dumpQuery = 'mysqldump -u' . CONFIG_DB_USER . ' -p' . CONFIG_DB_PASSWORD . ' -h' . CONFIG_DB_HOST . ' ' . CONFIG_DB_NAME . ' > ' . $dumpFile; exec($dumpQuery); $dumpQuery = 'gzip -f ' . $dumpFile; exec($dumpQuery); $dumpFile .= '.gz'; if (file_exists($dumpFile)) { $Uploader = new DropboxUploader(CONFIG_DROPBOX_EMAIL, CONFIG_DROPBOX_PASSWORD); $Uploader->upload($dumpFile, '/Backup/'); /* Пишем в лог об успешном бекапе */ unlink($dumpFile); } else { /* Пишем в лог об успешном бекапе */ }
Скрипт запускается по крону утром через день.

php

Previous post Next post
Up