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$
źródło
Odpowiedzi:
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. :-)
źródło
Rozwiązanie Old School na następny raz:
(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 ...?).
źródło