LINUX.ORG.RU

История изменений

Исправление pfg, (текущая версия) :

Ну да там несколько соединений (2 ip адреса один vpn), но скрипт отдельно выполняется.

конечно отдельно, но зависимости юнитов меж собой системд отрабатывает и запускает их только при выполнении условий.
в впн думаю тоже прописан запуск после network-online.target, ибо впн нужна сеть, без нее он отвалится с ошибкой.
а где-то в завалах системд есть юнит или несколько юнитов в которых прописано Before=network-online.target (или что подобное) и вот только после их выполнения, системд посчитает нетворк-онлайн.таргет выполненной и запустит скрипты в которых стоит требование After=network-online.target «только после (работоспособности) network-online.target»

в Unit добавлять надо?

ну а куда еще :) ты описываешь взаимодействие данного юнита с окружающей средой https://systemd.io/NETWORK_ONLINE/

а про какие баш прокладки вы имеете ввиду , bash_profile ?

не :)
я про прокладку из баша чтобы запустить башескрипт. вот такое ExecStart=/bin/bash /home/profile/scripts/mountftp.sh излишне. зачем дробить задачу между несколькими файлами ??
в сервис можно воткнуть несколько ExecStart подряд

ExecStart=/path/to/curlftpfs x.x.x.x /home/profile/ftp1 - o user=user:pass
ExecStart=/path/to/curlftpfs x.x.x.x /home/profile/ftp2 - o user=user:pass

и будет нормально и понятно, без доп.прокладок. команды просто последовательно выполнятся.

далее добавь в юнит Type=oneshot это более правильно, ExecStart выполняется мгновенно а юнит считается рабочим долгое время.

плюс непонятно у тебя точно есть юзверь profile ?? или User=profile впихнуто от балды. что-то я такого юзера в дефолтных не встречал.

и стоит добавить опции отмонтирования директорий перед выключением сервиса. нехрен их бросать незавершенными.

ExecStop=/usr/bin/umount ****1
ExecStop=/usr/bin/umount ****2

пардон не игрался с curlftps и не знаю как их правильно отмонтировать. и у тебя получается полноценный сервис, который можно включить, т.е. получить доступ к смонтированным фтпшникам и выключить его, адектвано отключив все фтп-папки.
#кактотак :)

Исходная версия pfg, :

Ну да там несколько соединений (2 ip адреса один vpn), но скрипт отдельно выполняется.

конечно отдельно, но зависимости юнитов меж собой системд отрабатывает и запускает их только при выполнении условий.
в впн думаю тоже прописан запуск после network-online.target, ибо впн нужна сеть, без нее он отвалится с ошибкой.
а где-то в завалах системд есть юнит или несколько юнитов в которых прописано Before=network-online.target (или что подобное) и вот только после их выполнения, системд посчитает нетворк-онлайн.таргет выполненной и запустит скрипты в которых стоит требование After=network-online.target «только после (работоспособности) network-online.target»

в Unit добавлять надо?

ну а куда еще :) ты описываешь взаимодействие данного юнита с окружающей средой https://systemd.io/NETWORK_ONLINE/

а про какие баш прокладки вы имеете ввиду , bash_profile ?

не :)
я про прокладку из баша чтобы запустить башескрипт. вот такое ExecStart=/bin/bash /home/profile/scripts/mountftp.sh излишне. зачем дробить задачу между несколькими файлами ??
в сервис можно воткнуть несколько ExecStart подряд

ExecStart=/path/to/curlftpfs x.x.x.x /home/profile/ftp1 - o user=user:pass
ExecStart=/path/to/curlftpfs x.x.x.x /home/profile/ftp2 - o user=user:pass

и будет нормально и понятно, без доп.прокладок. команды просто последовательно выполнятся.

добавь в юнит Type=oneshot это более правильно, ExecStart выполняется мгновенно а юнит считается рабочим долгое время.

и стоит добавить опции отмонтирования директорий перед выключением сервиса. нехрен их бросать незавершенными.

ExecStop=/usr/bin/umount ****1
ExecStop=/usr/bin/umount ****2

пардон не игрался с curlftps и не знаю как их правильно отмонтировать. и у тебя получается полноценный сервис, который можно включить, т.е. получить доступ к смонтированным фтпшникам и выключить его, адектвано отключив все фтп-папки.
#кактотак :)