Здесь оригинальный исходный код (соответствующие 30 строк bash
код выделен)
Здесь упрощено (s3
- это двоичный файл, который передается в хранилище объектов). Точки (...) - это параметры, которые не публикуются здесь.
PULSE=$(mktemp -t shield-pipe.XXXXX)
trap "rm -f ${PULSE}" QUIT TERM INT
set -o pipefail
mysqldump ... | tee >(tail -c1 >$PULSE) | bzip2 | s3 stream ...
Как это работает? Можете ли вы объяснить мне, как это перенаправления и трубы работают? Как отладить ошибку mysqldump: Got errno 32 on write
. При ручном вызове (только) mysqldump
никогда не завершается с ошибкой.