Я пытаюсь создать читаемый файл журнала для большого сценария резервного копирования.
Внутри сценария я просто перенаправляю весь вывод команд в большой файл, который затем может быть «очищен» сценарием. Например:
echo "Error occurred" >> log.file
mount disk >> log.file
Предупреждения и ошибки, которые я пропустил, я показываю на консоли при выполнении скрипта.
backup.script >> log.file
Но даже если сообщения об ошибках не всегда регистрируются в моем файле, при выполнении скрипта (с конвейером) cron я получаю письма от rsync и ошибки скрипта:
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
rsync: write failed on "/mnt/backup1/xxxxx": No space left on device (28)
rsync error: error in file IO (code 11) at receiver.c(322) [receiver=3.0.9]
rsync: connection unexpectedly closed (215 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]
и при возникновении ошибки скрипта:
/data/scripts/backup.auto: line 320: syntax error near unexpected token `else'
Как я могу включить эти сообщения об ошибках в свой файл журнала?
>> log.file 2>&1
вместо>> log.file
. - person devnull   schedule 04.03.2014>>
и2>&1
важен. - person Axel   schedule 04.03.2014echo foo >> log.file; echo bar >> log.file
станет{ echo foo; echo bar; } >> log.file
. - person chepner   schedule 04.03.2014teelog
в разделе how-do-i-get-both-stdout-and-stderr-to-go-to-the-terminal-and-a-log-file stackoverflow.com/questions/363223 - person denis   schedule 07.05.2014