Jak mogę uruchomić Badblocks i Smartctl przez SSH, zamknąć SSH bez przerywania Badblocks i Smartctl? [duplikować]

-1

Mam serwer z dyskiem twardym, który chciałbym przetestować za pomocą smartctl (smartmontools) i badblocks. Najpierw użyłbym smartctl, a potem złych bloków.

Moje pytanie składa się z trzech części:

  1. Jak uruchomić polecenia przez SSH, aby proces nie zatrzymał się po zamknięciu terminalu?
  2. Jak mogę wyprowadzić wyniki badblocks i informacje smartctl do pliku?
  3. Jak mogę uruchomić smartctl, a wtedy złe bloki uruchomią się automatycznie (po zakończeniu smartctl) bez konieczności ponownego logowania się przez SSH?

Dziękuję Ci.

użytkownik333913
źródło

Odpowiedzi:

1

Chociaż wykryłem poważny brak wysiłku badawczego, oto odpowiedź.

  1. nohupotacza proces, aby nie odbierał sygnału zawieszenia (HUP). W związku z tym będzie kontynuował działanie po zamknięciu sesji.

    Aby uzyskać bardziej wyrafinowane funkcje, możesz użyć screenlub tmux, które działają podobnie jak rozłączona sesja pulpitu zdalnego w systemie Windows. Programy nadal działają, a dane wyjściowe są gromadzone. Zostanie Ci przedstawiony po ponownym połączeniu się z sesją screen/ tmux.

  2. Przekierowanie wyjściowe jest tutaj słowem kluczowym, przy czym odpowiedni operator jest >jak w echo bla > file.txt.

  3. Ty nie. To dlatego, że tak naprawdę nie smartctlwykonuje testu, ale sam dysk twardy. Po zakończeniu nie ma powiadomienia, musisz okresowo sprawdzać status / wyniki.

Daniel B.
źródło
Nie (smartctl && badblocks) &odpowiedziałbyś na pytanie 3? (A przynajmniej nohup sh -c 'smartctl && badblocks' &uruchamianie skryptu, który działa smartctl && badblocksz nohupi &?)
Scott
Nie, nie ma. Chce przeprowadzić autotest SMART na dysku twardym. Ten test jest uruchamiany przez smartctl, który kończy się natychmiast. Test jest wykonywany przez sam napęd. Jego status może być odpytywany.
Daniel B,
0

Aby to zrobić, zaloguj się przez SSH, a następnie uruchom screen.

Wewnątrz screenuruchom następujące polecenia:

 smartctl <options>; badblocks <options>

Teraz wpisz Ctrl+, ADaby „odłączyć” od screensesji. W ten sposób będzie działał po zamknięciu SSH.

Możesz ponownie dołączyć screensesję po ponownym zalogowaniu, uruchamiając screen -r.

Jeśli nadal chcesz zapisać dane wyjściowe polecenia w pliku, uruchom je w następujący sposób:

(smartctl <options>; badblocks <options>) >/path/to/log/file.txt
BenjiWiebe
źródło