Как заставить Systemd запускать скрипт после запуска OpenVPN?
В общем, пытаюсь выполнить скрипт с помощью сервиса. Так не рабоатет почему то:
[Unit]
Description=Description
After=network.target
After=openvpn.service
[Service]
ExecStart=/path_to_dir/script.sh --flag param
Type=simple
RemainAfterExit=false
[Install]
WantedBy=multi-user.target
Вот, что пишет:
tun0: error fetching interface information: Device not found
my_script.service: Succeeded.
Содержимое openvpn.service:
# This service is actually a systemd target,
# but we are using a service since targets cannot be reloaded.
[Unit]
Description=OpenVPN service
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/true
ExecReload=/bin/true
WorkingDirectory=/etc/openvpn
[Install]
WantedBy=multi-user.target
Ответы (1 шт):
Автор решения: megorit
→ Ссылка
В общем, решил проблему просто добавив в начало скрита небольшой цикл:
while true
do
ip l | grep tun0 > /dev/null
if [[ $? -eq 0 ]]
then
break
else
sleep 1
fi
done