Рейтинг:0

Вывод Bash-скрипта на экран и в лог-файл

флаг cn

Я создал простой скрипт, который выполняет команду curl (я запускаю ее каждый месяц через crontab), и я заставил ее отображать лог-файл с датой запуска. Проблема в том, что я хочу получать выходные данные сценария оболочки в файл журнала, и я уверен, что совершенно уверен, как этого добиться. Вот что у меня есть:

#!/бин/баш
#
LOGFILE=/root/Delete-Old-Indices.log
Журналы #Nginx — удаление старше 90 дней
завиток -XDELETE XXXXXXXXXXXXXXXXXXXXX
echo "$(date "+%d%m%Y %T") : Начало работы" >> $LOGFILE 2>&1

так что теперь я получаю только следующую строку журнала в своем файле журнала: «Дата + время: начало работы», и я не получаю вывод сценария оболочки в своем файле журнала, я вижу его только в моем окне оболочки.

Спасибо

pLumo avatar
флаг in
Отвечает ли это на ваш вопрос? [Как перенаправить вывод на экран, а также в файл?] (https://askubuntu.com/questions/38126/how-to-redirect-output-to-screen-as-well-as-a-file)
bac0n avatar
флаг cn
`printf '%(%d%m%Y %T)T : %s\n' -1 "Начало работы"`, если вы собираетесь печатать строку времени, лучше выбрать `printf`.
Рейтинг:3
флаг cn

Вы можете перенаправить любой вывод в файл журнала так же, как вы делали для эхо команда, т. е. с помощью >> символ перенаправления.

Это приведет к тому, что вывод больше не будет отображаться на экране. Если вы хотите также увидеть вывод, вы можете использовать тройник с или же --добавлять вариант, как

curl -XDELETE XXXXXXXXXXXXXXXXXX | тройник -a $LOGFILE

Это перенаправляет как в файл (добавляя к тому, что уже есть), так и на экран.

Если вы хотите собрать весь вывод сценария в файл журнала, просто перенаправьте вывод при вызове сценария оболочки. В самом сценарии вы затем удалите все перенаправления.

флаг ar
Я собирался предложить использовать символ перенаправления `>>` в строке `crontab` со скриптом bash, но мне это решение нравится больше.
vanadium avatar
флаг cn
@user68186 user68186 вы правы, и, вероятно, это больше то, чего хочет пользователь в данном конкретном случае: при запуске с вкладки cron никогда не отображается вывод на экран. Добавил это в ответ

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.