Как выполнить пакетную обработку PHP-скрипта, выполнение которого занимает много времени?

Я создал PHP-скрипт, который создает/восстанавливает резервную копию, содержащую содержимое сайта и базу данных. Он очень хорошо работает на небольших сайтах, но на больших сайтах возникают проблемы. Как лучше всего запаковать такой скрипт? По сути, он копирует файлы из одного каталога в другой, создает дамп БД, а затем архивирует каталог.

Я провел небольшое исследование, нужно ли мне использовать задания cron?


person John Peden    schedule 10.12.2012    source источник
comment
Можете ли вы разбить его на более мелкие сегменты? Вы пытаетесь запустить его через веб-страницу? В противном случае CRON работал бы хорошо, и вам не пришлось бы беспокоиться о времени (до определенного момента).   -  person ethrbunny    schedule 10.12.2012
comment
Это на сервере Windows или Linux?   -  person Oldskool    schedule 10.12.2012
comment
Попытка запустить его через веб-страницу. Пользователь нажимает «Резервное копирование», сценарий создает резервную копию.   -  person John Peden    schedule 10.12.2012
comment
Dev-сервер — Windows, live-сервер — Linux. Я бы предпочел, чтобы он работал в обеих средах.   -  person John Peden    schedule 10.12.2012


Ответы (1)


Если это что-то, что происходит в фиксированное время/по расписанию, то это должно быть задание cron. Это довольно просто настроить. Есть много учебников.

Если, с другой стороны, это действие, которое пользователь инициирует из веб-браузера, вам следует fork и exec. Вы принимаете ввод пользователя, разветвляете и выполняете, а затем сообщаете пользователю, что он получит электронное письмо, когда процесс будет завершен.

person xbonez    schedule 10.12.2012
comment
Спасибо, это последний из двух. Я посмотрю на это. - person John Peden; 10.12.2012