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

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

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

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

0
задан 5 December 2019 в 19:49
1 ответ

Так как Вы имеете 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

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

1
ответ дан 30 December 2019 в 00:06

Теги

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