2012-07-04 4 views
1

Я управляю VPS моего клиента. Он хотел, чтобы решение для резервного копирования включало некоторые папки и базы данных mysql. ОС - Ubuntu, веб-сервер - apache. Я не хочу, чтобы мой клиент возился с ssh или ftp.Резервное копирование Linux-сервера с помощью PHP?

Я думаю, что я могу сохранить файлы резервной копии базы данных и запустить функцию exec PHP с страницы wab, чтобы закрепить папки и файлы резервных копий базы данных, а затем дать ссылку для загрузки этого zip-файла.

Это технически возможно, но мне интересно, есть ли лучшее решение, кроме автоматического копирования файлов резервных копий на другой сервер. Потому что в моей ситуации требуется создание резервных копий в любое время.

+0

У вас есть Cpanel? Если да, попробуйте http://docs.cpanel.net/twiki/bin/view/11_30/CpanelDocs/BackupWizard –

ответ

2

Есть много возможностей, здесь есть очень простые один мы используем каждый день:

  • создать сценарий резервного копирования (например, в Баше) с обычными подозреваемыми как туздЫшпр, деготь и дата
  • макияж конечно, этот сценарий резервного копирования блокируется от двойных запусков.
  • создать задание cron, которое запускается каждую минуту, проверяет, существует ли файл флага, и если да, то запускается сценарий резервного копирования, а затем удаляется файл флага
  • , если хотите, создать больше cron (например, ежедневный), которые ничего не делают, кроме набора flagfile
  • создать тривиальную PHP скрипт, который просто прикасается к flagfile для запуска резервной копии ADHOC
  • Вы можете скачать законченный резервный пакет, после того, как flagfile очищается (снова проверить с помощью тривиального PHP скрипта)
+0

Мое единственное, что связано с этим, - это расписание работы каждую минуту? Я сделал что-то очень похожее, когда задание cron было перенесено ежедневно в 03:00 и сидел в петле сна, опросив сенсорный файл каждые 15 секунд до перерыва 03:00, а затем открыл скрипт PHP cgi для активации, чтобы читать и действовать таблица запросов на работу в MySQL. Это плюс простой сценарий requestor/status/pull эффективно предоставил и-пользователям доступ к этим пакетным функциям с помощью изолированного веб-администратора. – TerryE

+0

Разница между «заданием фонового задания петли сна» и «один раз в минуту cronjob» в основном является академическим: вы можете видеть, что 'cron' сам является« опросом цикла сна ». Я выбрал cronjob для надежности: если вы перезагрузите сервер в 03:05, опрос флагового файла начнется немедленно с помощью подхода cron, но только через 23:55 часов с описанным вами подходом. Короче: cron делает, что нужно (кроме того, что это только мелкая гранулярность), я не хочу изобретать велосипед –

Смежные вопросы