Plik uszkodzony / utracony podczas przesyłania? Możliwe odzyskiwanie?

10

Byłem na uni kilka dni temu, kiedy próbowałem wyciąć i wkleić plik 500Mb (nagranie wideo 3 gp) na mój dysk H na jednym z komputerów Linux z siecią uni (Debian KDE 3.5).

Nie widziałem żadnych komunikatów o błędach wskazujących, że zadanie wycinania i wklejania nie powiodło się, ale kiedy spojrzałem na wynikowy wklejony plik, pojawia się on teraz jako plik 60 MB (to rozbieżność 440 MB!). Mój plik został jakoś zmniejszony! Czy plik został uszkodzony podczas wklejania i jest to fragment niekompletnie skopiowanego pliku?

Podejrzewam, że zdarzyło się, że przesyłanie plików zostało przerwane z powodu ograniczeń alokacji wielkości dysku H nałożonych na użytkowników przez administratorów.

Ale można by pomyśleć, że Linux spodziewa się, że plik będzie większy niż byłoby możliwe, aby przenieść się do zamierzonego miejsca docelowego i przerwać przesyłanie przed jego rozpoczęciem, nie czekaj, aż osiągnie jakiś zakazany limit, a następnie dyskretnie anuluj, nie powiadamiając mnie.

Również w przypadku przerwanego transferu plików zwykle oczekuje się, że oryginalny plik pozostanie nienaruszony (tzn. Nie usunięty) oryginalny dysk USB?

Plik pojawia się w miejscu docelowym, ale jest teraz znacznie mniejszy i nie działa. Oryginalny plik w lokalizacji źródłowej na dysku zewnętrznym zniknął, co sugeruje, że zadanie zostało pomyślnie ukończone.

Ta zmiana rozmiaru jest dość dziwna i teraz nie mam dostępu do oryginalnego pliku. Po wycięciu i wklejeniu oryginał mógł zostać usunięty z lokalizacji źródłowej. Komputer źle wykonał to zadanie, najwyraźniej powodując, że straciłem plik, i chciałbym, abyś pomógł mi odzyskać mój plik.

Próbowałem odzyskać plik z karty SD mojego telefonu za pomocą narzędzia do analizy sądowej PhotoRec i Sleuthkit. Brak szczęścia. Usunięte sekcje dysku mogły zostać zastąpione nowymi danymi. Więc zero postępu na końcu źródła. Jakiś sposób na odzyskanie na docelowym końcu (tj. Mojej sieci uni)?

peter@peter-deb:/media/E0FD-1813$ cd DCIM/
peter@peter-deb:/media/E0FD-1813/DCIM$ cd ..
peter@peter-deb:/media/E0FD-1813$ cd LOST.DIR/
peter@peter-deb:/media/E0FD-1813/LOST.DIR$ ls
peter@peter-deb:/media/E0FD-1813/LOST.DIR$ ls -a
.  ..
peter@peter-deb:/media/E0FD-1813/LOST.DIR$ 
ptrcao
źródło
Czego użyłeś do skopiowania / przeniesienia pliku? Ponadto, jak można oczekiwać, że jakiekolwiek narzędzie do kopiowania będzie wiedziało, co sys-admins ustawiają jako maksymalne dozwolone rozmiary plików? Czy jesteś pewien, że z twojej strony nie było problemów z palcami? Żadne narzędzie do kopiowania nie powinno nigdy usuwać oryginalnego pliku, jeśli kopiowanie nie zostało zakończone.
tshepang
Narzędziem do kopiowania był Konquerer lub jakikolwiek inny menedżer plików na tym komputerze Debiana KDE 3.5. Jestem pewien, że nie przestawiłem wtyczki USB w trakcie zadania przesyłania, jeśli to masz na myśli?
ptrcao
ptrcao, czy po wykonaniu transferu: (odmontowałeś napęd USB) lub (użyłeś opcji wysuwania / usuwania i czekałeś na wyskakujące okienko z informacją, że możesz go bezpiecznie usunąć)?
rozcietrzewiacz
Tak, to kwestia przyzwyczajenia. Jedynym powodem, dla którego tego nie zrobiłbym, jest w niektórych sieciach, funkcja ta nie jest włączona w środowisku pulpitu, ale wydaje mi się, że pamiętam tę funkcję, która jest dostępna i rutynowo używana przeze mnie w omawianej sieci Linux. Co ci to mówi? Coś pomocnego?
ptrcao
1
„H drive”: Założę się, że winowajcą jest strona systemu Windows i nie ma ona nic wspólnego z linuksem, siecią ani serwerem. Wygląda na to, że SMB systemu Windows ma takie problemy, ponieważ próbuje wewnętrznie buforować pliki i rozłączyć oryginał (podczas „przenoszenia”) przed zakończeniem.
Jonathan Cline IEEE

Odpowiedzi:

11

Po pierwsze, nigdy nie przenoś pliku przez sieć, tylko kopiuj. Zawsze możesz usunąć oryginał po pomyślnym zakończeniu kopiowania. Po drugie, twój system lokalny może nawet nie zdawać sobie sprawy z istnienia limitu systemu plików na zdalnym magazynie - nie zakładaj, że można nawet z góry zgadnąć, czy operacja kopiowania zakończy się niepowodzeniem z powodu zdalnego przydziału. Jeśli chodzi o proces „wysyłania”, wszystkie bajty zostały wysłane i odebrane przez zdalny koniec, a Ty chciałeś przenieść plik, aby teraz można było usunąć oryginał - plik poof zniknął.

„Jakikolwiek sposób na odzyskanie po stronie docelowej?” - nie ma szansy. OK, może mały. Skontaktuj się z administratorem sieci, aby sprawdzić, czy może system rzeczywiście otrzymał pełny plik, ale tylko przekazuje ci rozmiar w ramach przydziału. Nie wstrzymuj oddechu.

I przepraszam, jeśli brzmię trochę szorstko, ale wydaje się, że niektóre nowe nawyki są w porządku. :-)

shon
źródło
Nie ... :( Jak administrator nie mógł się przed tym uchronić? Jestem zwykłym studentem, co wiem o komputerach i sieciach oraz dobrej praktyce zarządzania danymi ... Dałeś przebłysk nadziei. Mam złożył wniosek i otworzył skrzynkę, aby sprawdzić, czy mogą odzyskać mój plik. Wszelkie dalsze pomocne, praktyczne sugestie, rzeczy, które mogę zrobić lub poprosić o zrobienie dla mnie? Ten plik był ważny i niepowtarzalny! Potrzebuję go .. . :(
ptrcao
Ponadto faktycznie próbowałem skopiować plik resztki i wykonać go w domu. W rzeczywistości jest zgłaszany jako plik 60Mb przez wszystkie komputery, które go wyświetlają, i w rzeczywistości ten plik nie działa. Czy to wyklucza twój pełen nadziei scenariusz?
ptrcao
Czy rozmawiałeś z administratorem systemu? To jedyna odrobina nadziei, jaka pozostała.
shon
Tak, bez odpowiedzi. :( Ale w końcu się do tego
zabiorą,
Leniwy administrator oddalił go w sekundę i powiedział, że chce zamknąć sprawę. To było natychmiastowe. Po wszystkich szczegółach, które włożyłem do mojej walizki, nie zawracał sobie tym głowy ...
ptrcao
1

Rozwiązanie Old School na następny raz:

# sync
# sync
# sync
# umount /mnt

(Jest to nieco sarkastyczne, ponieważ trzy synchronizacje z rzędu są starsze i w połowie przesądne. Spójrz na to. Http://utcc.utoronto.ca/~cks/space/blog/unix/TheLegendOfSync )

Było to przydatne w dniach SYSV.

Ok, zajęło mi sporo czasu, aby znaleźć to w Google. (Dlaczego tak ciężko? Folklor gubi się?) W każdym razie sugeruję młodym, aby przeczytali książkę Raymond Unix Folklore (której ... nie mogę znaleźć na Amazon ...?).

Jonathan Cline IEEE
źródło
Heh, to zabiera mnie z powrotem. Xenix ... Synchronizuj, poczekaj, aż dioda LED dysku twardego zgaśnie. Powtórz jeszcze dwa razy i wezwij do zatrzymania systemu. Czy ktoś jeszcze poświęca kurczaki na klawiaturze przed rozpoczęciem jakichkolwiek poważniejszych aktualizacji?
Fiasco Labs