Запись вывода длинной команды в файл в Ubuntu

Я использую Ubunutu. Я просто хочу создать дамп postgre. Итак, я использую следующую команду:

sudo -u wap PGPASSWORD="postgres" pg_dump -h localhost -U postgres -d n26n -n public -FC -f /tmp/dump_file --verbose

Вышеупомянутое создает дамп, как и ожидалось. Однако, поскольку я запускаю его в подробном режиме, я хочу, чтобы вывод регистрировался в файле. Я пробовал следующее:

sudo -u wap PGPASSWORD="postgres" pg_dump -h localhost -U postgres -d n26n -n public -FC -f /tmp/dump_file --verbose >> logfile

Файл журнала кажется пустым.

Как указать конец команды?

0
задан 19 April 2017 в 11:41
1 ответ

Без образца вывода, который вы получаете, я могу только строить предположения, но ваша команда содержит -f (--file) , куда направляется ваш вывод дампа: / home / me / dump_file .

-f файл

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

Любой другой вывод будет из stderr , потому что вы указали - verbose поэтому вы должны перенаправить этот вывод, используя 2> logfile1 .

- verbose

Задает подробный режим. Это заставит pg_dump выводить подробные комментарии к объекту и время запуска / остановки в файл дампа, а также сообщения о ходе выполнения в виде стандартной ошибки.

Пример:

sudo -u wap PGPASSWORD="postgres" \
   pg_dump -h localhost -U postgres \
   -d n26n -n public -Fc -f /tmp/dump_file --verbose 2> logfile1
0
ответ дан 5 December 2019 в 08:18

Теги

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