Страница 1 из 1

логирование юнита

Добавлено: 29 авг 2023, 13:39
Dja

Ситуация простая. Хотя действий пришлось сделать много...
Итак, автоматический экспорт виртуальной машины из коробки.
1. Сама машина, разумеется, гасится из себя.
2. Далее происходит экспорт.
3. И в определенное время по крону машина включается.
С пунктами 1 и 3 проблем нет. Пункт 2 отработал с ошибкой, поскольку в кроне % считается переходом на новую строку... и всё бы ничего, но я захотел иметь лог каждого экспорта.

Пробовал

Код: Выделить всё

vboxmanage export 4DF -o /mnt/hardD/test/`date +%F`_4DF.ova | tee /mnt/hardD/test/logs/`date +%F`_4DF
Однако, результата не принесло. Файл почему-то формировался пустым.
Пришлось на каждую машину лепить юниты сервиса и таймера.

Всё сделано по рекомендации slant.
2023-08-29_13-31.png
Статус по окончании
авг 29 12:05:06 dja-work systemd[1]: Started export_4DF.service.
авг 29 12:13:30 dja-work export_4DF.sh[419287]: 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
авг 29 12:13:31 dja-work export_4DF.sh[419287]: Successfully exported 1 machine(s).
авг 29 12:13:36 dja-work systemd[1]: export_4DF.service: Deactivated successfully.
авг 29 12:13:36 dja-work systemd[1]: export_4DF.service: Consumed 6min 30.376s CPU time.
Как бы этот лог вывести в отдельный файл? В юнитах покопался...вроде вывода в лог там нет...

логирование юнита

Добавлено: 29 авг 2023, 14:13
rogoznik
Dja, добавь в начало каждого скрипта

Код: Выделить всё

exec 2> mylog_error.log
exec 1> mylog.log
Это перенаправит стандартный вывод и вывод ошибок в файлы

логирование юнита

Добавлено: 29 авг 2023, 14:14
Dja
Пока пришел только к journalctl -u export_4DF.service -S `date +%F`>/путь/файл

логирование юнита

Добавлено: 29 авг 2023, 15:01
Dja
rogoznik писал(а):@Dja тогда можно вот так сделать

Код: Выделить всё

exec &> mylog.log
это перенаправит STDOUT и STDERR в один файл
:thumbs: :magic: :close: