Wiem, że możesz zaplanować zamknięcie na określony czas shutdown -h 21:45
i że nie powinieneś używać crontabs do takich rzeczy ze względu na ich powtarzalny charakter. Jak zaplanować zamknięcie na określony dzień, na przykład 31 sierpnia o godzinie 20:00?
11
shutdown
. Jak napisałem w innej odpowiedzi, wy, którzy tego chcecie, możecie spróbować przekonać usystematyzowanych ludzi, aby uczynić swojeshutdown
narzędzie bardziej zdolnym, ze składnią dziesięcioleci, zamiast chodzić po domachsystemd-run
.at
Polecenie jest dla jednego szeregowania off przyszłych egzekucji.na przykład
(„<EOT>” został utworzony przez naciśnięcie Control-D)
Tutaj możesz umieścić swoje
shutdown
polecenie.źródło
at
kiedy pisałem -at
ogólnie jest do tego przeznaczony, chociaż w firmie może być przyjętą metodąat
lubcron
, w zależności od konwencji związanych z zarządzaniem / wdrażaniem konfiguracji.at
jest również w stanie podjąć polecenia z rurą:echo "echo yup > $(tty)" | at now
.Chociaż
at
jest to oczywisty sposób na zrobienie tego, myślę, że przetrwa wyłączanie, więc jeśli komputer uruchomi się ponownie przed zaplanowanym zamknięciem, może się ponownie zamknąć w zaplanowanym czasie. Dlatego używając daty bash i GNU możemy użyć opóźnionego wyłączenia./sbin/shutdown +$(( ( $( date -d "30 may 2019 13:15" +%s ) - $( date +%s ) ) / 60 + 1 ))
NB: Jest to dokładne tylko do jednej minuty. Działa poprzez konwersję zaplanowanego czasu, a teraz na sekundy od epoki UNIX, obliczenie różnicy, konwersję na minuty, a następnie wykorzystanie tego jako opóźnienia do zamknięcia. Nie będzie działać poprawnie, jeśli zaplanowany czas minął.
źródło
Używasz lepszego
shutdown
polecenia.Polecenia van Smoorenburg, Upstart i systemd
shutdown
nie pozwalają na określenie daty. Aleshutdown
polecenie BSD przyjmuje wartość daty w specyfikacji określającej, kiedy ma zostać zamknięty, w formieyymmddhhmm
. Tak było od 4BSD i tak jest w przypadku FreeBSD i OpenBSD. NetBSD rozszerzył to doccyymmddhhmm
.Ponieważ zestaw narzędzi nosh jest także użyteczny w BSD, dałem mojemu
shutdown
poleceniu tę samą możliwość, rozszerzając goCCYYMMDDHHMM
na NetBSD. A ponieważ zestaw narzędzi nosh jest także użyteczny w systemie Linux, daje to systemowi Linux polecenie zamknięcia, które wymaga dat.Oczywiście działa z nosh
system-manager
. Działa również z niektórymi innymi systemami. Wysyła sygnały do procesu nr 1 w celu uchwycenia różnych rzeczy, a te same sygnały są rozumiane przez niektórych innych menedżerów systemu, na przykładsystemd
, które można również wyłączyć za jego pomocą.Możesz go użyć lub podobne narzędzie; lub możesz spróbować przekonać autorów innych
shutdown
programów Linuksa , aby rozszerzyli swoje narzędzia tak, aby były równie zdolne jak BSDshutdown
.Dalsza lektura
shutdown
. strony podręcznika użytkownika zestawu narzędzi nosh. Oprogramowania.system-manager
. strony podręcznika użytkownika zestawu narzędzi nosh. Oprogramowania.shutdown
. Podręcznik administratora systemu . Strony podręcznika NetBSD. 2011-11-04.shutdown
. Podręcznik menedżerów systemu FreeBSD . 01.01.2018.shutdown
. Strony podręcznika OpenBSD. 21.01.2015.źródło
Aby uruchomić pracę tylko w tym roku:
Aby uruchomić pracę każdego roku:
źródło
Może istnieć opcja wprowadzenia roku do
shutdown
polecenia, ale cron może być użyty do uruchomienia poleceń tylko raz w określonym momencie. Na przykład spróbujUwaga: powyższe nie jest standardową składnią cron.
źródło
year
polacrontab