Shebang: запустить небуферизованный Python от имени другого пользователя для перенаправления вывода в реальном времениPython

Программы на Python
Ответить
Anonymous
 Shebang: запустить небуферизованный Python от имени другого пользователя для перенаправления вывода в реальном времени

Сообщение Anonymous »

Для записи в crontab мне нужно создать конкретный shebang в скрипте Python /home/svc_user/prj/wrapper.py. Должно быть достигнуто следующее:
  • Нацельтесь на конкретный исполняемый файл интерпретатора Python, который находится в виртуальной среде, т. е. /home/svc_user/prj/.venv/bin/python3
  • Я хочу перенаправить вывод сценария (как stdout, так и stderr) в файл /home/svc_user/prj/logs/timestamped_log.txt и просматривайте изменения в режиме реального времени (сценарий использования: записывайте в файл длительно выполняемое задание cron и иногда просматривайте выходные данные в реальном времени, чтобы проверить их)

    Это подразумевает запуск python3 -u
[*]Создание интерпретатора Python запускаться пользователем службы svc_user. Эффекты:
  • Идемпотент (т. е. отсутствие специального эффекта), если сценарий вызывается из кронтаба пользователя службы.
  • Но настоящий пользователь alice, имеющий права sudo, теперь должен автоматически запускать этот сценарий как svc_user при выполнении ./wrapper.py из своего/ее оболочки.
  • Это подразумевает добавление sudo -u svc_user

Как я могу связать это вместе, чтобы вызов из cron, который не предоставляет среду оболочки для сценария и чувствителен к синтаксису shebang, работает?
Я работаю с Debian/Ubuntu Linux.

Подробнее здесь: https://stackoverflow.com/questions/798 ... edirection
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»