systemd: विलंबित बंद के निर्धारित समय की जांच कैसे करें?


14

मुझे shutdown -h TIME/+DELAYकभी-कभी इस्तेमाल करना अच्छा लगता है । हालाँकि, स्विच टू सिस्टमड (उबंटू पर) के बाद से, चीजें काफी बदल गई हैं।

इस तथ्य के अलावा कि पिछले शटडाउन कमांड अब एक नया चलने से रोकता है, मैं यह पता नहीं लगा सकता कि वर्तमान शटडाउन प्रक्रिया के नियोजित शटडाउन समय की जांच कैसे करें।

मैं ps aux | grep shutdownयोजनाबद्ध बंद समय देखने के लिए बस चलाता था।

अब systemd के साथ यह कुछ इस तरह दिखाता है:

root      5863  0.0  0.0  13300  1988 ?        Ss   09:04   0:00 /lib/systemd/systemd-shutdownd

मैं इस तरह की प्रक्रिया के निर्धारित शटडाउन समय की जांच कैसे कर सकता हूं?

मैंने कोशिश की shutdown -k, लेकिन केवल दीवार संदेश लिखने के बजाय, यह निर्धारित शटडाउन समय को अब + 1 मिनट में बदल देता है।

जवाबों:


12

आदमी बंद (8) कहते हैं:

पहला तर्क टाइम स्ट्रिंग (आमतौर पर "अब") हो सकता है।

समय स्ट्रिंग या तो "hh: mm" प्रारूप में हो सकती है, जो 24 घंटे की घड़ी प्रारूप में निर्दिष्ट शटडाउन को निष्पादित करने के लिए समय / मिनट निर्दिष्ट करता है। वैकल्पिक रूप से यह वाक्यविन्यास "+ m" में हो सकता है जो अब से निर्दिष्ट मिनट m की संख्या का उल्लेख करता है। "अब" "+0" के लिए एक उपनाम है, अर्थात एक तत्काल शटडाउन को ट्रिगर करने के लिए। यदि कोई समय तर्क निर्दिष्ट नहीं है, तो "+1" निहित है।

प्रयत्न:

# shutdown +5
# systemctl status systemd-shutdownd.service

आपको कुछ इस तरह से देखना चाहिए:

● systemd-shutdownd.service - Delayed Shutdown Service
Loaded: loaded (/lib/systemd/system/systemd-shutdownd.service; static; vendor preset: enabled)
Active: active (running) since Tue 2015-09-15 09:13:11 UTC; 12s ago
Docs: man:systemd-shutdownd.service(8)
Main PID: 965 (systemd-shutdow)
Status: "Shutting down at Tue 2015-09-15 09:18:11 UTC (poweroff)..."
CGroup: /system.slice/systemd-shutdownd.service
       └─965 /lib/systemd/systemd-shutdownd

Status है Shutting down at Tue 2015-09-15 09:18:11 UTC (poweroff)...


धन्यवाद। वह तो आसान था। मैंने पहले सफलता के बिना "सेवा की स्थिति" की कोशिश की। मुझे लगता है कि मैं अभी तक पर्याप्त systemd के लिए इस्तेमाल नहीं कर रहा हूँ।
किआज

4
systemd-shutdowndमई 2015 में
सिस्टमड

यह सही है। यह इंगित करने के लिए धन्यवाद। यदि सिस्टमड के एक नए संस्करण का उपयोग किया जाता है, तो निम्नलिखित जैसा कुछ होना चाहिए USECS=$(busctl get-property org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager ScheduledShutdown | cut -d ' ' -f 3); SECS=$((USECS / 1000000)); date --date=@$SECS:।
एवगेनी वीरशैगिन

9
# cat /run/systemd/shutdown/scheduled
USEC=1537242600000000
WARN_WALL=1
MODE=poweroff

USEC माइक्रोसेकंड परिशुद्धता के साथ एक यूनिक्स युगांतर टाइमस्टैम्प है, इसलिए:

if [ -f /run/systemd/shutdown/scheduled ]; then
  perl -wne 'm/^USEC=(\d+)\d{6}$/ and printf("Shutting down at: %s\n", scalar localtime $1)' < /run/systemd/shutdown/scheduled
fi

कुछ इस तरह प्रदर्शित करेगा:

Shutting down at: Tue Sep 18 03:50:00 2018

सिस्टम संस्करण संस्करण डेबियन स्ट्रेच पर 232-25 + deb9u4 चल रहा है।


5

नए लिनक्स वितरण संस्करणों के लिए आपको निम्न कार्य करने होंगे:

busctl get-property org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager ScheduledShutdown

शटडाउन कैसे काम करता है इसका तरीका बदल गया है

इस पर प्रयास किया गया: - डेबियन स्ट्रेच 9.6 - उबंटू 18.04.1 एलटीएस

संदर्भ


2
आउटपुट यूनिक्स की अवधि के बाद से माइक्रोसेकंड के रूप में शटडाउन समय को निर्दिष्ट करता है। मानव-पठनीय समय प्राप्त करने के लिए:date -d @$(( $(busctl get-property org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager ScheduledShutdown | cut -d' ' -f3) / 1000000 ))
200_success

4

मुझे एक ही सवाल का सामना करना पड़ा और शटडाउन योजना की जांच करने का एक और तरीका मिला।

जब आप एक शटडाउन योजना निर्धारित करते हैं, तो दीवार सभी को लॉग इन करने के लिए एक संदेश भेज देगी जिसमें उनका मेसग अनुमति हां में सेट किया जाएगा। दीवार के हर आह्वान के लिए एक सूचना सिसलॉग को लिखी जाएगी । Syslog को खोजने के लिए , आप कमांड चला सकते हैं journalctl -u systemd-shutdownd, -uविकल्प इकाई द्वारा लॉग को फ़िल्टर कर सकता है।

जब आप चलते हैं journalctl -u systemd-shutdownd, तो यह नीचे की तरह शटडाउन विवरण दिखाएगा:

[root@dev log]# journalctl -u systemd-shutdownd
-- Logs begin at Mon 2017-06-12 09:39:34 CST, end at Mon 2017-06-12 14:05:04 CST. --
Jun 12 09:39:50 dev.local systemd[1]: Started Delayed Shutdown Service.
Jun 12 09:39:50 dev.local systemd[1]: Starting Delayed Shutdown Service...
Jun 12 09:39:50 dev.local systemd-shutdownd[1249]: Shutting down at Mon 2017-06-12 21:00:00 CST (poweroff)...
Jun 12 09:55:59 dev.local systemd-shutdownd[1249]: Shutdown canceled.
Jun 12 09:56:07 dev.local systemd[1]: Started Delayed Shutdown Service.
Jun 12 09:56:07 dev.local systemd[1]: Starting Delayed Shutdown Service...
Jun 12 09:56:07 dev.local systemd-shutdownd[2885]: Shutdown canceled.
Jun 12 11:54:15 dev.local systemd[1]: Started Delayed Shutdown Service.
Jun 12 11:54:15 dev.local systemd[1]: Starting Delayed Shutdown Service...
Jun 12 11:54:15 dev.local systemd-shutdownd[3178]: Shutting down at Mon 2017-06-12 20:00:00 CST (poweroff)...

1

उबंटू में 18.04 मशीन शटडाउन द्वारा प्रबंधित किया जाता है systemd। मेरी मशीन पर मैंने बिना री-अपग्रेड के स्वत: रिबूट को सक्षम किया है:

$ grep Automatic-Reboot /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "02:00";

निर्धारित स्वचालित रिबूट समय में संग्रहीत किया जाता है /run/systemd/shutdown/scheduled

$ cat /run/systemd/shutdown/scheduled
USEC=1563976800000000 
WARN_WALL=1
MODE=reboot

आप निम्नलिखित आदेश का उपयोग करके इसे मानव पठनीय समय में बदल सकते हैं:

$ date -d "@$( awk -F '=' '/USEC/{ $2=substr($2,1,10); print $2 }' /run/systemd/shutdown/scheduled )"
Thu Jul 25 02:00:00 NZST 2019
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.