Выполненный автоматически Noip2, когда машина загружается?

К сожалению, истинная фиксация будет, скорее всего, использовать последнюю версию wget поскольку проблемы были, вероятно, устранены там. 1.11 приблизительно 5 лет. Существует 1.11.4 также, если Вы, оказывается, используете оригинал 1.11.

Кроме того (и это ужасно.. и не мог бы работать в зависимости от того, что инициировало использование дескриптора файла):

  • Увеличьте файл ulimit для пользователя, работающего wget.
  • Разработайте способ возобновить Ваш wget приятно.
  • Контролируйте fd использование через lsof или простое ls /proc/$pid/fd
  • Перезапустите Ваш wget когда это рядом с Вашим ulimit из файлов.

Иначе необходимо было бы проследить то, что пропускает fd's в wget и исправьте его. Могут быть известные патчи утечки дескриптора файла, которые Вы могли бэкпортировать к 1,11. Я, может казаться, не нахожу общедоступное управление версиями для wget источник все же.

7
28.07.2015, 11:22
2 ответа

Два шага для решения этой проблемы. Ваш сценарий ( /etc/init.d/noip2 ) должен выглядеть так:

#! /bin/sh
# /etc/init.d/noip2

# Supplied by no-ip.com
# Modified for Debian GNU/Linux by Eivind L. Rygge <eivind@rygge.org>
# Updated by David Courtney to not use pidfile 130130 for Debian 6.
# Updated again by David Courtney to "LSBize" the script for Debian 7.

### BEGIN INIT INFO
# Provides:     noip2
# Required-Start: networking
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start noip2 at boot time
# Description: Start noip2 at boot time
### END INIT INFO

# . /etc/rc.d/init.d/functions  # uncomment/modify for your killproc

DAEMON=/usr/local/bin/noip2
NAME=noip2

test -x $DAEMON || exit 0

case "$1" in
    start)
    echo -n "Starting dynamic address update: "
    start-stop-daemon --start --exec $DAEMON
    echo "noip2."
    ;;
    stop)
    echo -n "Shutting down dynamic address update:"
    start-stop-daemon --stop --oknodo --retry 30 --exec $DAEMON
    echo "noip2."
    ;;

    restart)
    echo -n "Restarting dynamic address update: "
    start-stop-daemon --stop --oknodo --retry 30 --exec $DAEMON
    start-stop-daemon --start --exec $DAEMON
    echo "noip2."
    ;;

    *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
esac
exit 0

Затем сделайте его исполняемым, т.е. запустите

# chmod a+x /etc/init.d/noip2
# update-rc.d noip2 defaults
16
27.01.2020, 20:15

Вот более простой способ подойти к этому...

Мы пытаемся имитировать вашу учетную запись обычного пользователя, выдающую эту команду (, предполагая, что вы следовали рекомендациям No -IP по установке )...

sudo noip2

Причина, по которой ваша учетная запись обычного пользователя (вместо вашего суперпользователя )должна выполнять эту команду, заключается в том, что ваша учетная запись обычного пользователя имеет некоторый -IP -специфический материал, к которому необходимо получить доступ при выдаче эта команда. Таким образом, чтобы имитировать ввод указанной выше команды в качестве обычной учетной записи пользователя с повышенными привилегиями при запуске, выполните следующие действия...

Отредактируйте crontab вашего суперпользователя, введя эту команду...

sudo crontab -e    (choose your favorite text editor if prompted)

Добавьте эту строку внизу файла...

@reboot su -l <regular account username> && sudo noip2

Сохраните файл и перезагрузите систему. Вы обнаружите, что noip2 был запущен правильно.

2
27.01.2020, 20:15

Теги

Похожие вопросы