Łączę dane, które są generowane na wielu różnych źródłach, w mieszanym środowisku różnych wersji systemu Windows (XP / 7) i jednego Linuksa (Centos). Dane są dostępne za pośrednictwem udziałów sieciowych. Dane są wytwarzane przez różne oprogramowanie w każdej lokalizacji, tworząc i dołączając do plików w różnych odstępach czasu. Większość źródeł danych to systemy zamknięte, do których nie mam dostępu administracyjnego, co naprawdę komplikuje sytuację.
Muszę okresowo dołączać do udziałów sieciowych i gromadzić dane w centralnej lokalizacji, używanej do dalszej dystrybucji. Dane są generowane i zbierane 24 godziny na dobę przez 7 tygodni. Zostanie to uruchomione z komputera z systemem Windows 2008.
Jedynym problemem, jaki mam z organizowaniem tego, jest kopiowanie pliku ze zdalnego źródła bez blokowania pliku. Początkowo skonfigurowałem system, który działał dobrze przy użyciu robocopy, dopóki moje testy nie wykazały, że oprogramowanie źródła danych nie powiedzie się, jeśli spróbuje dołączyć do aktualnie kopiowanego pliku.
Niestety użycie vss nie jest opcją, ponieważ nie są to woluminy, które są udostępniane.
Po pewnym czasie kopiuję plik, który po prostu nie blokuje pliku podczas jego kopiowania. Obsługuję pliki, sprawdzając modyfikację czasów i rozmiarów przed i po kopiowaniu oraz zaznaczając te z różnicami. Brak dokładnych najnowszych plików nie stanowi problemu, ale utratą danych u źródła jest.
Zajrzałem do różnych rozwiązań do tworzenia kopii zapasowych, ale wszystko, co testowałem, nadal blokuje pliki, gdy nie mogą korzystać z vss.
Nie chcę implementować własnego oprogramowania do kopiowania plików dla czegoś, co powinno być całkiem proste.
Odpowiedzi:
Nie jestem pewien, czy XXCOPY może zrobić, co chcesz, więc możesz przeczytać post dotyczący jego dostęp do zablokowanych plików . W przeciwnym razie brzmi jak XCOPY (i RoboCopy) na sterydach. Nie jest darmowy do użytku biznesowego, chociaż nadal jest obsługiwany (najnowsza wersja wydana 27.12.2013)
Dodatek: Dokumentacja mówi, że sam XXCOPY nie blokuje pliku podczas kopiowania.
źródło
FileCopy.exe twierdzi, że jest w stanie to zrobić, ale jest dość stary (2004), więc nie wiem, czy to zadziała. Ponadto nie jest jasne, czy kopia pozostanie niezablokowana, gdy zostanie użyta przez udział sieciowy.
Wykonywanie kopii nieblokujących jest oczywiście dość niebezpieczne, dlatego większość narzędzi go nie obsługuje. Jeśli aplikacja główna aktualizuje plik podczas kopiowania, prawdopodobnie skończy się na uszkodzonej kopii.
źródło
FILE_SHARE_DELETE
również, chociaż doco wskazuje prawdopodobnie nie) przez inne procesy, które otwierają plik.Aby dodać kolejną opcję, znalazłem FastCopy kopiować pliki w trybie wspólnego odczytu / zapisu.
Wydaje się, że jest dość dojrzały i istnieje od 2004 roku i jest open source na podstawie licencji BSD tutaj . Wydaje się, że to dobra alternatywa, ponieważ nie wszystkie dodatkowe dzwonki i gwizdki, które zapewnia XXCOPY, są wymagane.
źródło
spróbuj shadowspawn (z robocopy). To jest całkiem dobre.
pomiot cieni
Edytuj: właśnie zrozumiałem, że ma 2 lata. Przepraszam!
źródło