Tôi đang cố gắng tìm ra cách để đăng nhập chuyển đổi.
Tôi biết tôi có thể chạy daemon ở phía trước:
transmission-daemon -f --logfile /your/path/to/transmission.log
Nhưng đây không phải là điều tôi muốn. Tôi muốn kích hoạt tùy chọn này ( logfile
) trong ví dụ dịch vụ.
Cho đến nay tôi đã phát hiện ra rằng chạy sudo service transmission-daemon
thực thi các tập tin nằm trong /etc/init.d/transmission-daemon
. Tập tin này (như được hiển thị bên dưới) không thực sự làm tôi khôn ngoan hơn.
Cho đến nay tôi hiểu như sau:
--exec $DAEMON -- $OPTIONS
thực thi daemon hiệu quả. Tập tin này (như được thấy trong biến trên đầu tập lệnh) được đặt trong /usr/bin/$NAME
. $NAME
là transmission-daemon
. Đây là một thực thi nằm ở đó.
Vì vậy, tôi nghĩ rằng bạn có thể vượt qua nó cùng với một số tùy chọn (ví dụ --logfile
). Vì vậy, tôi đã thêm một khởi tạo của OPTIONS
biến nhưng điều này dường như không viết gì cả.
Tôi đã thử OPTIONS=" --logfile /smb/torrents/transmission.log"
dòng để nó có thể nối chúng vào thực thi nhưng nó lại báo lỗi.
Một điều khác tôi đã thử là sử dụng tùy chọn mà không có bất kỳ trích dẫn nào.
OPTIONS= -e /smb/torrents/transmission.log
Điều này ném cho tôi cùng một lỗi:
: ~ $ sudo dịch vụ truyền-daemon khởi động lại /etc/init.d/transmission-daemon: 15: /etc/init.d/transmission-daemon: -e /smb/torrents/transmission.log: không tìm thấy
Làm như trên mà -
không cho tôi thấy bất kỳ lỗi nào, nhưng cũng không ghi vào tệp nhật ký ..
Thêm --logfile
tùy chọn sau khi thực hiện cũng gây --exec $DAEMON --logfile /path/file -- $OPTIONS
ra một lỗi khác:
* Restarting bittorrent daemon transmission-daemon
start-stop-daemon: unrecognized option '--logfile'
Logfile có đủ quyền, mặc dù:
-rwxrwxrwx 1 debian-transmission debian-transmission 0 Dec 30 11:14 transmission.log*
Vì vậy, câu hỏi của tôi là, làm thế nào để làm điều này chính xác?
#!/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