Всем привет. Я знаком с линуксом четвертый день, ненавижу его. Ненавижу, когда все должно работать, но почему-то не работает. Однако, я сделал все, что мне было нужно и остановился в шаге от поставленной задачи.
Необходимо при старте системы выполнять команду автоматически (подключаться к серверу по ssh).
1. Для этого я создал скрипт в init.d соответствии с образцом
sudo cp /etc/init.d/skeleton /etc/init.d/myscript && vi /etc/init.d/myscript
2. Отредактировал его, получилось так (скрипт
работает, когда я запускаю его /etc/init.d/myscript start):
#! /bin/sh
### BEGIN INIT INFO
# Provides: ssh
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Example initscript
# Description: This file should be used to construct scripts to be
# placed in /etc/init.d.
### END INIT INFO
# Author: Foo Bar <foobar@baz.org>
. /lib/lsb/init-functions
# Function that starts the daemon/service
perform_start()
{
log_daemon_msg "start tunnel"
sleep 20 && ssh root@5X.2XX.1XX.9X -R 5544:localhost:22 -i ~/.ssh/mykeys.pem
return 0
}
# Function that stops the daemon/service
perform_stop()
{
log_daemon_msg "navernoe ne nuzhno"
}
case "$1" in
start)
perform_start
;;
stop)
perform_stop
;;
*)
echo "Usage: /etc/init.d/mysc {start|stop}"
exit 3
;;
esac
:
3. Добавил скрипт в уровни запуска вот так:
sudo update-rc.d myscript start 99 2 3 4 5 . stop 01 0 1 6 .
На что мне было отвечено:
using dependency based boot sequensing, что, как я нашел в гугле, является сообщением, а не ошибкой. (Хотя по инструкции, должна была последовать реакция Adding system startup for /etc/init.d/slave ...). Подозрение на этот этап.
4. Добавил права на выполнение вот так:
sudo chmod +x /etc/init.d/myscript
Автоматически не работает. Сам запускаю скрипт - работает. Логов загрузки в папке var/logs нет. При старте системы показываются скрипты, которые запускаются, моего скрипта там нет. Попробовал добавить свою строчку в конце последнего загружаемого скрипта - не работает.
Поставил sysv-tc-conf: мой скрипт там есть, уровни выставлены. Система bamt 1.3, это какой-то дебиан, как я понял. Папки /etc/init у меня в системе нет.
Мне очень нужно решить проблему автоподключения машины по ssh к серверу (она находится за nat) . Если есть соображения по моему методу или другие способы, с удовольствием выслушаю.