मैं एक सिस्टम टाइमर का परीक्षण कर रहा हूं और इसके डिफ़ॉल्ट टाइमआउट को ओवरराइड करने की कोशिश कर रहा हूं, लेकिन सफलता के बिना। मैं सोच रहा हूं कि क्या सिस्टम को पूछने का एक तरीका है कि हमें यह बताएं कि सेवा अगले के लिए कब चलने वाली है।
सामान्य फ़ाइल ( /lib/systemd/system/snapbackend.timer
):
# Documentation available at:
# https://www.freedesktop.org/software/systemd/man/systemd.timer.html
[Unit]
Description=Run the snapbackend service once every 5 minutes.
[Timer]
# You must have an OnBootSec (or OnStartupSec) otherwise it does not auto-start
OnBootSec=5min
OnUnitActiveSec=5min
# The default accuracy is 1 minute. I'm not too sure that either way
# will affect us. I am thinking that since our computers will be
# permanently running, it probably won't be that inaccurate anyway.
# See also:
# http://stackoverflow.com/questions/39176514/is-it-correct-that-systemd-timer-accuracysec-parameter-make-the-ticks-slip
#AccuracySec=1
[Install]
WantedBy=timers.target
# vim: syntax=dosini
ओवरराइड फ़ाइल ( /etc/systemd/system/snapbackend.timer.d/override.conf
):
# This file was auto-generated by snapmanager.cgi
# Feel free to do additional modifications here as
# snapmanager.cgi will be aware of them as expected.
[Timer]
OnUnitActiveSec=30min
मैंने निम्न आदेशों को चलाया और टाइमर हर 5 मिनट में एक बार टिक जाता है। वहाँ systemd में एक बग हो सकता है?
sudo systemctl stop snapbackend.timer
sudo systemctl daemon-reload
sudo systemctl start snapbackend.timer
तो मैं भी सोच रहा था, मुझे कैसे पता चलेगा कि टाइमर कब टिकेगा? क्योंकि यह तुरंत मुझे बताएगा कि क्या यह 5 मिनट में है। या 30 मि। लेकिन इस systemctl status snapbackend.timer
बारे में कुछ नहीं कहता है। बस सोच रहा था कि क्या कोई ऐसी आज्ञा है जो मुझे बताएगी कि वर्तमान में उपयोग में देरी है।
रुचि रखने वालों के लिए, सेवा फ़ाइल भी है ( /lib/systemd/system/snapbackend.service
), हालांकि मुझे लगता है कि यह टाइमर टिक पर कोई प्रभाव नहीं होना चाहिए ...
# Documentation available at:
# https://www.freedesktop.org/software/systemd/man/systemd.service.html
[Unit]
Description=Snap! Websites snapbackend CRON daemon
After=snapbase.service snapcommunicator.service snapfirewall.service snaplock.service snapdbproxy.service
[Service]
# See also the snapbackend.timer file
Type=simple
WorkingDirectory=~
ProtectHome=true
NoNewPrivileges=true
ExecStart=/usr/bin/snapbackend
ExecStop=/usr/bin/snapstop --timeout 300 $MAINPID
User=snapwebsites
Group=snapwebsites
# No auto-restart, we use the timer to start once in a while
# We also want to make systemd think that exit(1) is fine
SuccessExitStatus=1
Nice=5
LimitNPROC=1000
# For developers and administrators to get console output
#StandardOutput=tty
#StandardError=tty
#TTYPath=/dev/console
# Enter a size to get a core dump in case of a crash
#LimitCORE=10G
[Install]
WantedBy=multi-user.target
# vim: syntax=dosini
systemctl list-timers
मदद करता है?