Назад | Перейти на главную страницу

Как запустить sh-скрипт при перезагрузке

Я пытаюсь запустить сценарий при перезагрузке, который позволяет перенаправлять порт на удаленный сервер. Я сделал сценарий, что он работает, если я запускаю его в терминале. Но я не могу запустить его при перезагрузке crontab:

@reboot sleep 120000 && sh /home/user/doit.sh

где я могу увидеть журнал ошибок для crontab? У меня есть еще один скрипт в crontab, это команда перезагрузки, и он работает. Этого нет. Этот сценарий вызывает SSH для создания туннеля. Спасибо.

Поскольку у вас есть systemd-система, вы можете рассмотреть возможность добавления .service файл, например /etc/systemd/system/ssh-tunnel.service со следующим содержанием:

[Unit]
Description=SSH tunnel
After=network.target

[Service]
Type=forking
ExecStart=/home/user/doit.sh

[Install]
WantedBy=multi-user.target

Вы можете изменить тип юнита на Type=simple если ваш скрипт не разветвляется. После вам просто нужно перезагрузить systemd, включите устройство и попробуйте запустить его:

systemctl daemon-reload
systemctl enable ssh-tunnel.service
systemctl start ssh-tunnel.service

Если все работает нормально, туннель будет установлен, как только сеть будет готова.