सेवा में लॉगिंग सक्षम करें


13

मैं यह पता लगाने की कोशिश कर रहा हूं कि ट्रांजीशन में लॉगिंग कैसे सक्षम करें।

मुझे पता है कि मैं मोर्चे को चला सकता हूं:

transmission-daemon -f --logfile /your/path/to/transmission.log

लेकिन यह वह नहीं है जो मैं चाहता हूं। मैं logfileसेवा उदाहरण में इस विकल्प ( ) को सक्षम करना चाहता हूं ।

अब तक मुझे पता चला है कि रनिंग sudo service transmission-daemonफ़ाइल में स्थित फ़ाइल को निष्पादित करता है /etc/init.d/transmission-daemon। यह फ़ाइल (जैसा कि नीचे दिखाया गया है) वास्तव में मुझे कोई समझदार नहीं बनाती है।

अब तक मैं निम्नलिखित को समझता हूं:

--exec $DAEMON -- $OPTIONS प्रभावी डेमॉन निष्पादित करता है। यह फ़ाइल (स्क्रिप्ट के शीर्ष पर चर में देखी गई) में स्थित है /usr/bin/$NAME$NAMEहै transmission-daemon। यह वहाँ स्थित एक निष्पादन योग्य है।

इसलिए मुझे लगता है कि आप इसे कुछ विकल्पों के साथ पास कर सकते हैं (यानी --logfile)। इसलिए मैंने OPTIONSचर का एक तात्कालिकता जोड़ा है लेकिन यह कुछ भी लिखने के लिए प्रतीत नहीं होता है।

मैंने OPTIONS=" --logfile /smb/torrents/transmission.log"लाइन की कोशिश की ताकि यह उन्हें निष्पादन के लिए जोड़ सके लेकिन यह एक त्रुटि फेंकता है।

एक और बात मैंने कोशिश की बिना किसी उद्धरण के विकल्प का उपयोग कर रहा था।

OPTIONS= -e /smb/torrents/transmission.log

यह मुझे एक ही त्रुटि फेंकता है:

: ~ $ sudo सर्विस ट्रांसमिशन-डेमन रिस्टार्ट /etc/init.d/transmission-daemon: 15: /etc/init.d/transmission-daemon: -e /smb/torrents/transmission .log: नहीं मिला

ऊपर दिए बिना -मुझे कोई त्रुटि नहीं दिखाता है, लेकिन लॉग फ़ाइल में या तो नहीं लिखता है ..

--logfileनिष्पादन के बाद विकल्प जोड़ने से --exec $DAEMON --logfile /path/file -- $OPTIONSएक और त्रुटि उत्पन्न होती है:

* Restarting bittorrent daemon transmission-daemon
start-stop-daemon: unrecognized option '--logfile'

हालाँकि, लॉगफ़ाइल की पर्याप्त अनुमति है:

-rwxrwxrwx  1 debian-transmission debian-transmission    0 Dec 30 11:14 transmission.log*

तो मेरा सवाल है, यह कैसे करते हैं?

#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          transmission-daemon
# Required-Start:    $local_fs $remote_fs $network
# Required-Stop:     $local_fs $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start or stop the transmission-daemon.
### END INIT INFO

NAME=transmission-daemon
DAEMON=/usr/bin/$NAME
USER=debian-transmission
STOP_TIMEOUT=30
OPTIONS=" --logfile /smb/torrents/transmission.log"

export PATH="${PATH:+$PATH:}/sbin"

[ -x $DAEMON ] || exit 0

[ -e /etc/default/$NAME ] && . /etc/default/$NAME

. /lib/lsb/init-functions

start_daemon () {
    if [ $ENABLE_DAEMON != 1 ]; then
        log_progress_msg "(disabled, see /etc/default/${NAME})"
    else    
        start-stop-daemon --start \
        --chuid $USER \
        $START_STOP_OPTIONS \
        --exec $DAEMON -- $OPTIONS
    fi
}

case "$1" in
    start)
        log_daemon_msg "Starting bittorrent daemon" "$NAME"
        start_daemon
        log_end_msg 0
        ;;
    stop)
        log_daemon_msg "Stopping bittorrent daemon" "$NAME"
        start-stop-daemon --stop --quiet \
            --exec $DAEMON --retry $STOP_TIMEOUT \
            --oknodo
        log_end_msg 0
        ;;
    reload)
        log_daemon_msg "Reloading bittorrent daemon" "$NAME"
        start-stop-daemon --stop --quiet \
            --exec $DAEMON \
            --oknodo --signal 1
        log_end_msg 0
        ;;
    restart|force-reload)
        log_daemon_msg "Restarting bittorrent daemon" "$NAME"
        start-stop-daemon --stop --quiet \
            --exec $DAEMON --retry $STOP_TIMEOUT \
            --oknodo
        start_daemon
        log_end_msg 0
        ;;
    status)
        status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
        ;;
    *)
        echo "Usage: /etc/init.d/$NAME {start|stop|reload|force-reload|restart|status}"
        exit 2
        ;;
esac

exit 0

जवाबों:


16

मैंने इस बीच इसे ठीक कर दिया। /etc/default/नाम से एक फ़ाइल transmission-daemonभी है (नीचे देखें)। इस फ़ाइल में OPTIONSपैरामीटर के लिए तात्कालिकता है । मैंने अभी जोड़ा --logfile /path/to/logfileऔर यह ठीक काम किया!

# defaults for transmission-daemon
# sourced by /etc/init.d/transmission-daemon

# Change to 0 to disable daemon
ENABLE_DAEMON=1

# This directory stores some runtime information, like torrent files
# and links to the config file, which itself can be found in
# /etc/transmission-daemon/settings.json
CONFIG_DIR="/var/lib/transmission-daemon/info"

# Default options for daemon, see transmission-daemon(1) for more options
OPTIONS="--config-dir $CONFIG_DIR --logfile /path/transmission.log"

# (optional) extra options to start-stop-daemon
#START_STOP_OPTIONS="--iosched idle --nicelevel 10"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.