У меня есть сценарий, который запускает и останавливает tinyproxy на моем экземпляре EC2. Ядро сценария (в дополнение к некоторым сетям на моей стороне) является 2 командами:
ssh -t $PROXY_HOST sudo '/etc/init.d/tinyproxy start'
ssh -t $PROXY_HOST sudo '/etc/init.d/tinyproxy stop'
где $PROXY_HOST настроен в ~/.ssh/confing
host MyHost
HostName <real ip here>
User ubuntu
IdentityFile <path is here>
ServerAliveInterval 60
ServerAliveCountMax 4
Все было прекрасно на Amazon Linux, однако после миграции к Ubuntu теперь существует проблема:
оба сценария для запущения/останавливания tinyproxy работают локально над машиной EC2
остановитесь сценарий работает удаленно точно так же, как над Amazon Linux - нет никакого выполнения tinyproxy процессов после выполнения
запустите сценарий не работает удаленно
EC2 AMI основан на ubuntu-trusty-14.04-amd64-server
Какие-либо подсказки о том, где я начинаю рыть?
PS. Да, я изменил пользователя по умолчанию от ec2-пользователя к человечности в ~/.ssh/config после миграции
Править: Добавленная информация, как спрошено muru
Вывод локальных и удаленных выполнений идентичен
+ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+ CONFIG=/etc/tinyproxy.conf
+ DAEMON=/usr/sbin/tinyproxy
+ DESC=tinyproxy
+ FLAGS=
+ NAME=tinyproxy
+ [ -r /etc/default/tinyproxy ]
+ test -f /usr/sbin/tinyproxy
+ set -e
+ [ start != stop ]
+ [ -f /etc/tinyproxy.conf ]
+ awk {print $2}
+ grep -i ^User[[:space:]] /etc/tinyproxy.conf
+ USER=nobody
+ awk {print $2}
+ grep -i ^Group[[:space:]] /etc/tinyproxy.conf
+ GROUP=nogroup
+ sed -e s/"//g
+ awk {print $2}
+ grep -i ^PidFile[[:space:]] /etc/tinyproxy.conf
+ PIDFILE=/var/run/tinyproxy/tinyproxy.pid
+ dirname /var/run/tinyproxy/tinyproxy.pid
+ PIDDIR=/var/run/tinyproxy
+ [ -n /var/run/tinyproxy -a /var/run/tinyproxy != /var/run ]
+ [ ! -d /var/run/tinyproxy ]
+ [ nobody ]
+ chown nobody /var/run/tinyproxy
+ [ nogroup ]
+ chgrp nogroup /var/run/tinyproxy
+ echo -n Starting tinyproxy:⋅
Starting tinyproxy: + start-stop-daemon --start --quiet -o --exec /usr/sbin/tinyproxy --
+ echo tinyproxy.
tinyproxy.
+ exit 0
Похоже, что существует некоторое различие в обработке по умолчанию SIGHUP между Amazon Linux и Ubuntu 14.04 на EC2. Так, в основном добавление nohup решает вопрос:
ssh -t $PROXY_HOST sudo 'nohup /etc/init.d/tinyproxy start'