따라서 이 명령을 실행한 다음 거부해야 합니다.
innobackupex-1.5.1 --user=root --password=**** --stream=tar ./ | gzip - > /data/myfile.tar.gz
출력을 파일로 파이프하려면 어떻게 해야 합니까?
이 명령 끝에 다른 >>를 추가하면 gzip 데이터만 추가됩니다.
더 구체적으로 말하자면, innobackupex에는 진행률 출력이 있습니다. 이 출력을 파일에 추가/파이프하기를 원합니다(오류뿐만 아니라). 이 경우 gzip이 이미 파이프되었으므로 이 작업을 수행하는 일반적인 방법(>>을 추가)이 작동하지 않습니다.
답변1
innobackupex
진행 상황은 출력되지 않습니다 . 그렇지 않으면 파일 stdout
에 남게 됩니다 . tar.gz
아마도 stderr로 출력할 것이므로(스크립트를 잠깐 살펴보면 이를 확인할 수 있음), stderr를 리디렉션해야 합니다.
innobackupex ... 2>> progress.log | gzip > file.tar.gz
답변2
innobackupex에서 STDERR을 캡처한다는 의미입니까? 귀하의 질문은 명확하지 않습니다.
innobackupex-1.5.1 --user=root --password=**** --stream=tar ./ 2> /path/to/file | gzip - > ...
답변3
서브셸에서 다음 명령을 실행하여 이 작업을 수행하겠습니다.
( innobackupex-1.5.1 --user=root --password=**** --stream=tar ./ \
| gzip - > /data/myfile.tar.gz ) 2> errors
답변4
1) 압축 및 일반 파일을 위해 출력을 gzip으로 파이프하려는 경우 사용 예는 다음과 같습니다 tee
.
ls -a ~ | tee ls.txt - | grep "^\."
그러면 홈 디렉터리에 있는 "숨겨진" 도트 파일이 모두 인쇄되지만(grep으로 인해) 전체 출력은 ls -a
ls.txt에 저장됩니다.
man tee
전체 설명을 보려면 를 참조하세요 .
2) 표준 출력 스트림에 표준 오류 스트림을 포함시키려는 경우 2>&1
명령에 추가하십시오.