Чтение файла на сервере A запись на сервер B

#php #copy

#php #Копировать

Вопрос:

Я хочу получать серии файлов с сервера создания файлов и перемещать извлечения на сервер разработки каждую ночь. Серверами являются IBM под управлением db2. Я могу использовать собственные драйверы или ODBC.

Я думал об использовании php. Одним из вариантов было выполнить итерацию по исходному файлу и вставить на сервер разработки. Другой идеей было прочитать исходный файл в массив, а затем выполнить итерацию массива и записать на сервер разработки.

Есть другие подходы?

Ответ №1:

Сценарий оболочки был бы гораздо более осуществимым для выполнения этого, предполагая, что ваши серверы IBM работают под управлением * Nix.

Комментарии:

1. на самом деле не *nix. Старый как / 400. База данных слишком привередлива в отношении ftp. Кажется, я помню проблемы с упакованными числовыми значениями. Обычный метод заключается в использовании формы zip, называемой savf, затем скопируйте savf и восстановите. Это немного длинновато и требует некоторой координации между блоками.

2. это аппаратное обеспечение. что за операционная система? Скорее всего, либо AIX, либо Linux

3. в основном os / 400, но она также поддерживает IBM S36, AIX и Windows, но данные хранятся в части OS / 400.

Ответ №2:

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

Помимо мнений, лучшим решением, вероятно, было бы смонтировать удаленную файловую систему (через NFS, SMB и т.д.) В локальной системе (в виде папки) И просто скопировать файлы, как вы бы делали из одной папки в другую. Если вы не обрабатываете файлы по мере их копирования, скриптовое решение не кажется лучшим подходом.

Другие замечательные опции включают rsync, scp и, в меньшей степени, FTP.