Wygląda na to, że mogę się wyłączyć sudo shutdown
, określając czas lub minuty.
Czy istnieje sposób na określenie daty i godziny zamknięcia?
źródło
Wygląda na to, że mogę się wyłączyć sudo shutdown
, określając czas lub minuty.
Czy istnieje sposób na określenie daty i godziny zamknięcia?
Możesz to zrobić bezpośrednio z shutdown command
, patrz man shutdown
:
SYNOPSIS
/sbin/shutdown [-akrhPHfFnc] [-t sec] time [warning message]
[...]
time When to shutdown.
Na przykład:
shutdown -h 21:45
To potrwa shutdown -h
o 21:45.
W przypadku poleceń, które nie oferują tej funkcji, możesz wypróbować jedną z następujących opcji:
at
Demon przeznaczony jest dla właśnie. W zależności od systemu operacyjnego może być konieczne jego zainstalowanie. W systemach opartych na Debianie można to zrobić za pomocą:
sudo apt-get install at
Istnieją trzy sposoby wydawania poleceń at
:
Potokuj:
$ echo "ls > a.txt" | at now + 1 min
warning: commands will be executed using /bin/sh
job 3 at Thu Apr 4 20:16:00 2013
Zapisz polecenie, które chcesz uruchomić, w pliku tekstowym, a następnie przekaż ten plik do at
:
$ echo "ls > a.txt" > cmd.txt
$ at now + 1 min < cmd.txt
warning: commands will be executed using /bin/sh
job 3 at Thu Apr 4 20:16:00 2013
Możesz także przekazywać at
polecenia ze STDIN:
$ at now + 1 min
warning: commands will be executed using /bin/sh
at> ls
Następnie naciśnij, CtrlDaby wyjść z at
powłoki. ls
Komenda zostanie uruchomiony w ciągu jednej minuty.
Możesz podać bardzo dokładne czasy w formacie [[CC]YY]MMDDhhmm[.ss]
, jak w
$ at -t 201403142134.12 < script.sh
Spowoduje to uruchomienie skryptu script.sh
o 21:34 i 12 sekundach 14 marca 2014 r.
Inne podejście polega na użyciu cron
harmonogramu, który jest przeznaczony do wykonywania zadań w określonych godzinach. Zwykle jest używany do zadań, które będą powtarzane, ale możesz także podać określony czas. Każdy użytkownik ma własne „crontabs”, które kontrolują, które zadania są wykonywane i kiedy. Ogólny format pliku crontab to:
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
Na przykład będzie to działać ls
codziennie o 14:04:
04 14 * * * ls
Aby skonfigurować cronjob na określoną datę:
Utwórz nowy plik crontab, uruchamiając crontab -e
. Spowoduje to wyświetlenie okna Twojego ulubionego edytora tekstu.
Dodaj ten wiersz do właśnie otwartego pliku. Ten konkretny przykład zostanie uruchomiony o godzinie 14:34 15 marca 2014 r., Jeśli ten dzień to piątek (więc OK, może działać więcej niż raz):
34 14 15 5 /path/to/command
Zapisz plik i zamknij edytor.
Ta odpowiedź SO sugeruje sposób na uruchomienie go tylko raz, ale nigdy go nie użyłem, więc nie mogę za niego ręczyć.
shutdown
. Czuję jednak to złe doświadczenie, które nie mogło być przyjemne.shutdown
planowanie icron
w tej samej odpowiedzi ... Niezależnie od tego, czy jest to stacja robocza, czy serwer poczty dla 1000 użytkowników (moje smutne doświadczenie), bardziej dotyczy konsekwencji złego nawyku.shutdown
nie należy go uwzględniaćcron
. (zwłaszcza z kimś, kto nie będzie wiedział, dlaczego to okropny pomysł.)Nie, nie można podać daty w komendzie zamykania systemu, ale istnieją dwie alternatywy:
1) Najłatwiej jest użyć polecenia at . Poniższy przykład zostanie wykonany
shutdown +5
o określonej godzinie i dniu:2) jeśli nie masz nic przeciwko użyciu kalkulatora i chcesz zamknąć w powiedzmy 24 godziny (24 * 60 = 1440 minut) i masz absolutną pewność, że system nie uruchomi się ponownie między:
źródło
at
polecenia.at
nie zasługuje na wyjaśnienie. Widzę, że wierzysz inaczej. Różne umysły, różne poglądy.shutdown
nie pozwalają na określenie daty. Ale działa zestaw narzędzi noshshutdown
, obsługujący od dawna składnię BSD.Zamknie system o 12:00:
Opcje:
Wyłącz maszynę.
Uruchom ponownie maszynę.
Anuluj oczekujące zamknięcie.
źródło