2015-02-18 4 views
1

Как я могу перенаправить вывод скрипта, который запускается с помощью сценария systemd ExecStart для загрузки консоли?Перенаправить вывод сценария systemd на консоль

Мне нужно отладить, что не так с скриптом до загрузки, но я не могу использовать journalctl, потому что это встроенный linux с rootfs ROM.

Теперь мой файл .Service выглядит следующим образом:

[Unit] 
Description=Init script 
After=network.target 
[email protected] 

[Service] 
Type=oneshot 
ExecStart=/usr/lib/systemd/test_init_script 
ExecStartPre=/usr/bin/echo -e \033%G 
ExecReload=/bin/kill -HUP $MAINPID 
WorkingDirectory=/ 
Enviroment=TERM=xterm 

[Install] 
WantedBy=multi-user.target 

test_init_script:

#!/bin/sh - 
echo "Test!" 

И это не сработало, после загрузки я получаю сообщение:

#systemctl status test_init_script.service 
test_init_script.service - Init script 
Loaded: loaded (/usr/lib/systemd/test_init_script.service) 
Active: failed (Result: exit-code) Since Thu 1970-01-01 08:26:03 CST; 19s ago 
Process: 170 ExecStartOre=/usr/bin/echo -e -G (code=exited, status=203/EXEC) 

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

+0

Вы видели это? http://unix.stackexchange.com/questions/20399/view-stdout-stderr-of-systemd-service – simurg

ответ

0

Хорошо, таким образом я могу решить эту проблему путем создания изображения с измененным файлом:

/etc/journald.conf 

Где изменить вариант хранения в энергозависимой:

Storage=volatile 

Эта опция означает, что все journald данные будут магазин в ОЗУ, поэтому это обходное решение для файловой системы только для чтения.

Для получения дополнительных сведений см. Страницу journald.

Смежные вопросы