Ponieważ APFS ma własne zdanie i zapełnia dysk twardy niechcianymi migawkami, stworzyłem crona do uruchomienia tmutil deletelocalsnapshots xxx
. Później dowiedziałem się, że uruchomienie tego polecenia w trakcie tworzenia kopii zapasowej zatrzyma tworzenie kopii zapasowej. Skąd mam wiedzieć, czy trwa tworzenie kopii zapasowej wehikułu czasu, aby uniknąć uruchomienia polecenia? Strona podręcznika dla tmutil
nie wyświetla żadnego polecenia statusu.
W tej chwili wykonuję następujące czynności w skrypcie, ponieważ teraz kopie zapasowe montuje się w /Volumes/Time Machine Backups/
:
ls -d /Volumes/Time* 2>/dev/null|grep Machin >/dev/null
if [[ $? != 0 ]]; then
# run here tmutil snapshot deletion commands
fi
Nie wydaje się to jednak zbyt precyzyjne. Wolumin może zostać zamontowany kilka minut później po rozpoczęciu tworzenia kopii zapasowej, a także zatrzymanie tworzenia kopii zapasowej pozostawia na chwilę ten wolumin. Wreszcie nazwa zamontowanego woluminu może ulec zmianie w przyszłości, co sprawi, że czek stanie się bezużyteczny.
źródło
tmutil thinlocalsnapshots \ 100...
z wystarczającą liczbą zer, aby dostać się do 120 GB. Jeśli zapłaciłeś za wsparcie, otworzyłbym skrzynkę z Apple dotyczącą tego przypadku użycia. Wydaje się, że jeden,tmdiagnose
a inżynierowie mogą upewnić się, że ich konfiguracja działa w twoim przypadku użycia. Zedytuję mój post, aby uzyskać 1 GB czystki. Świetne pytanie +2, gdybym mógł głosować dwa razy.thinlocalsnapshots
go,deletelocalsnapshots
gdy muszę pilnie zwolnić miejsce. (powiedzmy, że przygotowując instalację Adobe 50 GB w ciągu tygodnia lub dwóch okresów, abyśmy mogli zainstalować je wszystkie z lokalnego obrazu zamiast z sieci)Odpowiedzi:
Kanonicznym sposobem sprawdzenia statusu wehikułu czasu jest użycie narzędzia i sprawdzenie statusu:
Teraz musisz przetworzyć tekst, ponieważ zgłasza wyjście 0 podczas działania i gdy nie działa od czasu powrotu statusu - nie to, że jest prawidłowy status.
Użyłbym:
Zwraca 0, jeśli system nie jest aktualnie uruchomiony, i 1, jeśli tworzysz kopię zapasową. Jednak tworzenie kopii zapasowych w High Sierra oznacza zdarzenie niezwiązane z migawką. Migawki dosłownie dotyczą dysków zewnętrznych, które dosłownie nie są APFS. Tylko wewnętrzny dysk SSD jest traktowany jako APFS, a lokalne migawki nie są czymś, co „uruchamia się” tak samo jak „po prostu istnieje” i „działa”, jeśli cokolwiek jest procesem przerzedzania - nie jest to proces tworzenia kopii zapasowej.
Wywołania procesu przerzedzania,
backupd-helper
które nie mają narzędzia wiersza polecenia do sprawdzenia po zakończeniu, ale można je uruchomić, wydając wywołanie blokujące, takie jak:Powyżej ma wystarczającą liczbę zer, aby przerzedzić jeden bajt giga - dodaj dwa zera, aby poprosić o odzyskanie 100 GB.
Chcę poprawić (lub przynajmniej lekko zakwestionować) koncepcję zbyt wielu migawek. APFS jest kopią systemu plików zapisu, a jedyne przykłady tego, że jest źle, wydają się być wysoce wymyślnymi lub niestandardowymi konfiguracjami. Pliki znajdujące się w pobliżu są już zapisane na dysku. System jest po prostu „leniwy”, jeśli chodzi o ich czyszczenie, i nie marnuje czasu na przetwarzanie, dopóki nie dowie się, że a) system jest względnie bezczynny b) pamięć masowa jest stosunkowo bezczynna i nie kończy jej się jeszcze zbyt mało wolnego miejsca.
Apple wciąż wyraźnie zmienia liczbę migawek, które należy zamontować, jak ustawić progi czyszczenia, ile interwałów zachować w sytuacjach, gdy dysk zewnętrzny nie jest podłączony, a lokalne migawki istnieją.
Możesz kopać głębiej za pomocą:
Znowu nie widziałem miejsca, w którym musiałem przerzedzać lub usuwać migawki z automatycznego procesu na lokalnych woluminach. Usunięcie może być przydatne, gdy chcesz usunąć dużą kopię zapasową z dysku zewnętrznego. Prawdziwą dźwignią, jaką mieliśmy, było użycie wyłączeń Time Machine, aby pominąć tworzenie kopii zapasowych dużych plików z niewielkimi zmianami. Zobaczymy, jak APFS zareaguje na te pliki - domyślam się, że możesz umieścić typ plików na innym woluminie APFS i cienko agresywnie i okresowo lub kontynuować oglądanie wyłączeń kopii zapasowych, aby sprawdzić, czy to oszczędza przydzielone miejsce bez spowalniając kopiowanie pod względem wydajności zapisu i korzyści z przechowywania.
źródło
Nieudokumentowany
tmutil status
Jest nieudokumentowana, a zatem ulec zmianie
tmutil status
. To połączenie zwraca odpowiedź:Będziesz musiał przeanalizować część odpowiedzi JSON, aby dowiedzieć się, czy Time Machine działa.
Szukać
backupd
W starszych wersjach systemu macOS, jeśli
backupd
proces jest uruchomiony, wówczas Time Machine aktywnie tworzy kopię zapasową.Zobacz pytanie StackOverflow, Sprawdź, czy program działa ze skryptem powłoki bash? dla niezawodnych metod sprawdzania uruchomionego procesu.
źródło
backupd
ibackupd-helper -launchd
oba pokazane wps
. Taktmutil status
jest nadal najlepszym sposobem, pomimo nieudokumentowane.Sam Time Machine ma pasek menu, którego można używać. Musisz tylko włączyć element paska menu.
W okienku preferencji programu Time Machine znajduje się pole wyboru do wyświetlenia elementu paska menu. Pasek menu pozwala ręcznie wykonać kopię zapasową, jeśli wykonuje kopię zapasową i jak daleko jest.
EDYCJA: To jednak nie pozwoli ci ustawić crona tak, aby wiedział, kiedy jest wykonywana lokalna migawka, musisz to zrobić ręcznie.
Edycja 2: głosowanie w dół lub nie, osoby szukające pytania pod tytułem znajdą moją odpowiedź, która będzie pomocna. Nie będę tego usuwać.
źródło