угу. да еще в тех же скриптиках ужать архиватором.
даже не для экономии трафика, что тоже полезно, а из соображений: "маленькие файлики надежнее проскакивают"
только надо четко выдержать протокол обмена:
1) сервер проверяет отсутствие cash.ldd
2) сервер выкладывает cash.non (данные формируются, не забирать)
3) сервер проверяет наличие cashxxx.db; если его нет - прошлые выгрузки забрала касса, можно вычистить каталог от старых данных
4) сервер выкладывает данные
5) сервер формирует новый или дописывает старый cashxxx.db (список файлов с указанием типов данных и типа прогрузки для каждого, он же флаг "данные готовы")
6) сервер удаляет cash.non
7) касса проверяет отсутствие cash.non
8) касса проверяет наличие cashxxx.db
9) касса выкладывает cash.ldd (забираю данные, новые не совать)
10) касса считывает построчно cashxxx.db, загружает указанные в нем файлы
11) касса удаляет cashxxx.db (данные загружены)
12) касса удаляет cash.ldd
легко видеть, в чем будет проблема с инкрементальными выгрузками, которую Олег поминал:
в пятом пункте надо _дописать_ содержимое нового флага к старому.
самое простое лобовое решение - не копировать новые данные, если касса не забрала старые.
более правильное - анализировать cashxxx.db и дописывать строки, описывающие файлы того же типа данных пока идут инкрементальные выгрузки.
как только для типа данных придет полная - выкинуть старые инкрементальные (вместе с самими файлами)
самому серверу в этом плане проще: он точно знает, что если он выкладывает полную выгрузку, то ничего анализировать не надо, а надо просто вычистить каталог и положить все новое. если же не полную - значит дописать в конец cashxxx.db новые строки