Перенаправленный стандартный вывод, но в файле журнала появляются некоторые строки стандартного выводаLinux

Ответить Пред. темаСлед. тема
Anonymous
 Перенаправленный стандартный вывод, но в файле журнала появляются некоторые строки стандартного вывода

Сообщение Anonymous »

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

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

0 0 * * * /root/scripts/dev-vps_backup.sh >> logfile.log 2>&1 > /dev/null

0 0 * * * /root/scripts/dev-vps_backup.sh 2>&1 >> all.log | tee -a all.log err.log >&2
файл сценария bash:

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

#!/bin/bash

set -e

#start time var
start_time=$(TZ=Asia/Calcutta date +%d-%m-%Y_%H-%M-%S)
echo "Started Script: " $(basename "$0") "@ $start_time"

#########UPDATE THIS###########
### setting up variables here
######################## END of UPDATE

#create backup folders
mkdir -p $local_backupfolder
mkdir -p $local_dumps_backupfolder
mkdir -p $local_assets_backupfolder

# remote backup storage
remote_base_backupfolder=root@$remote_IP:/root/r-backups/$vps_name

# mongodump
gzfile=$local_dumps_backupfolder/$vps_name--dump--$start_time.gz
dumpMsg="$vps_name mongodump StartTime:$start_time, EndTime:"

if mongodump --gzip --archive=$gzfile ; then   ### THIS generates lines that are shown in stderr file
echo "DONE: $dumpMsg $(TZ=Asia/Calcutta date +%d-%m-%Y_%H-%M-%S)"
else
echo "ERR: $dumpMsg $(TZ=Asia/Calcutta date +%d-%m-%Y_%H-%M-%S)" | mailx -s "ERR: $vps_name mongodump" $recipient_email
exit
fi

zipMsg1="$vps_name - $app_name1 - ZIP file for folder: $local_assets_folder1. StartTime:$start_time, EndTime:"

if zip -r $local_assets_backupfolder/$vps_name--$app_name1--assets-$(TZ=Asia/Calcutta date +%d-%m-%Y_%H-%M-%S).zip $local_assets_folder1 ; then
echo "DONE: $zipMsg1 $(TZ=Asia/Calcutta date +%d-%m-%Y_%H-%M-%S)"
else
echo "ERR: $zipMsg1 $(TZ=Asia/Calcutta date +%d-%m-%Y_%H-%M-%S)" | mailx -s "ERR: $vps_name - $app_name1 - assets local ZIP" $recipient_email
exit
fi

some1-some_command  # to generate error

## some more lines

Файл err.log:

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

2024-08-02T10:33:01.116+0200    writing admin.system.version to archive '/root/backups/dumps/fvc1-vps--dump--02-08-2024_14-03-01.gz'
2024-08-02T10:33:01.118+0200    done dumping admin.system.version (1 document)
2024-08-02T10:33:01.118+0200    writing myca.syslogs to archive '/root/backups/dumps/fvc1-vps--dump--02-08-2024_14-03-01.gz'
.....some more lines related to mongodump command....
/root/scripts/fvc1-vps_backup.sh: line 61: some1-some_command: command not found
Файл all.log содержит дополнительные строки, относящиеся к команде echo и команде zip.
ОЖИДАЕТСЯ: только последняя строка в файле err.log — это ошибка. Как мне этого добиться?
ОБНОВЛЕНИЕ
попробовал этот crontab:

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

59 11 * * * /root/scripts/fvc1-vps_backup.sh >> /root/scripts/logfile.log
результирующий файл журнала:

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

Started Script:  fvc1-vps_backup.sh @ 02-08-2024_15-29-01
DONE: fvc1-vps mongodump StartTime:02-08-2024_15-29-01, EndTime: 02-08-2024_15-29-01
adding: root/jobs/assets/ (stored 0%)
adding: root/jobs/assets/tempfiles/ (stored 0%)
...... some more lines resulting from zip command.....
adding: root/jobs/assets/invoiceDocs/ (stored 0%)
DONE: fvc1-vps - jobs - ZIP file for folder: /root/jobs/assets. StartTime:02-08-2024_15-29-01, EndTime: 02-08-2024_15-29-19
Файл журнала не содержит строк, связанных с mongodump. Это означает, что эти строки будут отправлены в поток stderr (как показано в первом результате файла журнала). Не знаете почему?

Подробнее здесь: https://stackoverflow.com/questions/788 ... n-log-file
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»