Синхронизация изображений в файловой системе с живым сервером - PullRequest
1 голос
/ 27 июня 2011

У меня есть локальное веб-приложение PHP, которое ежедневно обновляется с новым контентом и обновленным контентом.Это хранилище в MYSQL5.

Я также поддерживаю файловую систему связанных изображений, которые отслеживаются таблицей в MySQL.Я НЕ пошел по маршруту BLOB-объектов - здесь используется файловая система linux.

Выполнив ежедневное обновление данных, каков наилучший способ синхронизации изображений с сервером?

IЯ использую PHP5, но не против внешней программы планирования, она работает.

Мои изображения хранятся в следующем порядке:

media/id/imagename.jpg

, т. Е.

media/123/123_1.jpg
media/123/123_2.jpg
media/1234/1234_1.jpg
media/1234/1234_2.jpg

1 Ответ

1 голос
/ 27 июня 2011

Номинальным ответом на вопрос о том, как синхронизировать файлы, было бы использование инструмента, предназначенного для работы, например rsync, или использование реплицированной / совместно используемой файловой системы.Однако в вашем случае, вероятно, вы хотите, чтобы записи mysql отражали состояние файлов.

Для этого я бы рекомендовал написать пару сценариев PHP (один на отправляющей стороне, один напринимающая сторона).Чтобы добавить некоторую безопасность здесь, я бы не позволил принимающей стороне захватывать какие-либо старые данные - скорее, чтобы исходный сервер сделал запрос к получающей стороне, предоставив метаданные - тогда получающая сторона будет опрашивать данные изображения от источника, чтобысоздайте копию (и запишите запись mysql, когда это будет завершено).

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

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