Planowanie ponownego uruchomienia na zdalnie zlokalizowanym serwerze Ubuntu

17

Pracuję na serwerze Ubuntu w miejscu, do którego zwykle nie chodzę. Używam ssh przez openvpn, aby uzyskać do niego dostęp. Urządzenie ma wiele przewodowych interfejsów, wiele tras statycznych i wiele domyślnych bram do sieci WAN. Często zmieniam adresy interfejsów i trasy. W większości przypadków zmiany, które wprowadzam, są tymczasowe - ponowne uruchomienie zresetuje przeprowadzone przeze mnie eksperymenty. W niektórych przypadkach niektóre z tych modyfikacji poszły źle, a urządzenie przeszło w tryb offline. W takich przypadkach musiałem wezwać kogoś w miejscu, w którym znajduje się serwer, aby wysłać maszynę do ponownego uruchomienia.

Teraz chciałbym zaplanować ponowne uruchomienie - powiedzmy, że po 2 godzinach maszyna powinna przejść w cykl ponownego uruchamiania. I w ciągu tych dwóch godzin mogę wykonać dowolne tymczasowe eksperymenty, jakie chcę. Jeśli wszystkie tymczasowe zmiany się powiodą, powinienem być w stanie zapobiec ponownemu uruchomieniu komputera po upływie 2 godzin. Chcę więc:

  1. Jak powiedzieć serwerowi, aby zrestartował się po upływie czasu certyfikatu?
  2. Jeśli zdecyduję, że komputer nie powinien zostać ponownie uruchomiony, powinienem móc go anulować.
nixnotwin
źródło

Odpowiedzi:

14

Na typie terminala, shutdown -r 10 Waiting 10 minutes before the restart&który spowoduje ponowne uruchomienie serwera za 10 minut, wyślij komunikat wyjaśniający, że naciśnięcie klawiszy control + c przerwie żądanie ponownego uruchomienia.

Na typie terminala, shutdown -r 18:00 Rebooting at 18:00 hours&który spowoduje ponowne uruchomienie serwera o godzinie 18:00, wyemituje komunikat wyjaśniający to i może zostać przerwany za pomocą control + c.

Możesz także przerwać każde żądanie zamknięcia / ponownego uruchomienia komputera w „działającym” terminalu za pomocą shutdown -a.

Bruno Pereira
źródło
2
Jest to nieco problematyczne, ponieważ jest interaktywne i blokuje uruchomioną powłokę. Nie jestem pewien, czy to działałoby przewidywalnie w przypadku SSH, jeśli sesja spadnie.
Alain O'Dea,
Nie mogłem znaleźć żadnej kombinacji nohupi sudoto by działało, gdyby działało z normalnej sesji ssh jako zwykły użytkownik grupy administracyjnej.
HDave
Czy można to uruchomić w połączeniu z ekranem, aby umożliwić zastosowanie polecenia i odrzucenie sesji ssh?
Andy Davies,
30

Możesz także użyć, ataby zaplanować ponowne uruchomienie. Na przykład, sudo at 22:00aby uruchomić polecenie o 22:00 jako root. Następnie wprowadź polecenie, które chcesz uruchomić: /sbin/shutdown -r nowi zakończ za pomocą ctrl-d. Jeśli zdecydujesz się nie uruchamiać tego polecenia, uruchom, sudo atrm 1aby usunąć pierwsze z atkolejki. Dzięki sudo atqmożesz zobaczyć kolejkę.

kimda
źródło
To rozwiązanie jest idealne!
Sukima
5
To powinno być oznaczone jako poprawna odpowiedź! atRodzina poleceń jest coś każdy administrator serwera powinien wiedzieć.
HDave
2
jeśli jesteś nowy at, najpierw wykonaj sudo at 22:00. To zabiera cię w rodzaj powłoki. Następnie wpisz polecenie i ctrl-dwyjdź. Zobacz także mixeduperic.com/ubuntu/…
Tim Richardson