У меня есть следующий конвейер:
- [другой поставщик] отправляет файлы в мою файловую систему Windows, которые индексируются, начиная со следующего неиспользуемого номера (обычно file.001)
- Я перемещаю файлы с помощью RoboCopy в мою файловую систему Unix и обрабатываю их. После обработки я удаляю файлы. Так что эти файлы только для транспортировки данных.
Проблема заключается в том, что при медленной обработке файла [другой поставщик] может отправлять новые файлы (снова начиная с file.001), а затем RoboCopy заменяет файлы в моей системе Unix более новыми файлами (что является поведением, RoboCopy был предназначен для).
Есть ли способ подавить это поведение? Что-то вроде «оставьте файл 001 в файловой системе Windows и повторите попытку через минуту»?
ЭДИТ:
обычно:
- Windows: пусто Unix: пусто => FileDelivery
- Windows: файл.001 Unix: пусто => Robocopy
- Windows: пустой Unix: file.001 => медленно обрабатывать базу данных
- Windows: пусто Unix: пусто
вот проблема:
- Windows: пусто Unix: пусто => FileDelivery
- Windows: файл.001 Unix: пусто => Robocopy
- Windows: пустой Unix: file.001 => медленно обрабатывать базу данных и FileDelivery
- Windows: file.001 Unix: file.001 => НЕ перемещать file.001 (но, возможно, другие файлы)
robocopy c:\data\ r:\data\ *. * /XN /MOV /R:100 /W:30 /MON:1 заменяет unix:file.001, даже если он присутствует
Эдит хочет, чтобы я добавил это:
возможно, проблема заключается в разных "файловых системах"/ уровнях администрирования. Один из них - netlink (старшая самба), а другой - zfs. обе "системы" (извините, я не имею ни малейшего представления о сетевых технологиях, поэтому моя терминология может быть неверной), чтобы сохранить свой собственный каталог inode в памяти, так что один не распознает изменения, другая файловая система выполняет в каталоге ,