Если эти приложения могут дать сбой и их потребуется перезапустить, или если их когда-либо потребуется остановить или перезапустить по отдельности, рассмотрите возможность проверки supervisorctl .
Вы можете запустить supervisorctl
из systemd в качестве первоклассной службы, а затем иметь возможность запускать любое количество зависимых процессов и управлять ими, предоставляя вам единое место для запуска или остановки ваших служб (supervisorctl stop all
,supervisorctl start all
)и аналогичные возможности аудита для systemd(supervisorctl status myapp
).
Документы для supervisorctl довольно хороши, и похоже, что ваш вариант использования может быть таким, что простого сценария оболочки, такого как вы опубликовали, может быть недостаточно, чтобы выполнить это без значительной головной боли.
Скорее всего, вам нужно хранить файлы cookie. Ответ @jsotola подходит только для базовой аутентификации, которая становится все менее распространенной. И вы сказали, что это POST-запрос.
Обратите внимание на опции -b
и -c
. Сначала отправьте запрос curl, чтобы войти в систему и сохранить файлы cookie, используя вышеупомянутые параметры. Затем повторите вызов, чтобы загрузить файл, например:
curl -b /tmp/cookies -c /tmp/cookies <url>...
Смысл использования файлов cookie заключается в хранении токенов аутентификации, без которых каждый ваш вызов не зависит от предыдущих запросов. Конечно, возможно, что веб-сайт использует Javascript/Ajax, и curl не всегда будет работать.
Бонус :Если вы попробуете использовать такой браузер, как Firefox, инструменты веб-разработчика могут даже сгенерировать для вас запросы Curl.
Попробуйте один из них.
curl http://name:passwd@machine.domain/full/path/to/file
curl -u name:passwd http://machine.domain/full/path/to/file