Как мне заставить GRUB2 правильно запускаться под UEFI?

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

Что он делает, так это запускает указанную вами программу (/usr/bin/python в вашем примере), а все остальное является аргументом указанной программы. Вы получаете ошибку недопустимого аргумента, потому что часть > /web/cmcreader/test.log 2>&1 является недопустимым аргументом для python.

Хотя я, безусловно, рекомендую вам просто использовать journalctl, как ответил @mark-stosberg, и удалить все из перенаправления вперед, если вы действительно хотите, чтобы ваш скрипт Python записывал в файл, у вас есть пара вариантов:

  • переписать ваш python так, чтобы он действительно писал в лог-файл
  • заставить systemd запустить скрипт bash, который запускает скрипт python и перенаправляет выходные данные
  • заставить systemd запускать bash явно а-ля ExecStart=bash -c "/usr/bin/python /web/cmcreader/test.py > /web/cmcreader/test.log 2>&1"

Опять же, я не очень рекомендую эти варианты, особенно последний.

1
26.11.2018, 02:32
0 ответов

Теги

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