데이터베이스를 백업하기 위해 Linux 시스템에서 다음 명령을 실행하고 있습니다.
(echo "`date`: START DUMPING"; db_dump.sh; echo "`date`: DONE DUMPING") >>db_dump.log
db_dump.sh에서:
pg_dump -v --dbname=mydb | pigz | openssl enc -aes128 -k ssecret -out db_dump.gz.aes
pg_dump, pigz 및 openssl의 정보 출력을 db_dump.log에 어떻게 캡처합니까?
현재 나는 이것을 고려하고 있습니다 :
pg_dump -v --dbname=mydb 2>>db_dump.log| pigz 2>>db_dump.log| openssl enc -aes128 -k ssecret -out db_dump.gz.aes 2>>db_dump.log
근데 이거 좀 곤란한 것 같은데...
답변1
괄호로 그룹화해 보세요.
( pg_dump -v --dbname=mydb | pigz | openssl enc -aes128 -k ssecret -out db_dump.gz.aes ) 2>>db_dump.log
파이프라인의 모든 부분에서 별도의 stderr 출력이 동일한 대상으로 이동합니다.
답변2
다음 방법을 사용할 수 있습니다.
프로그램 2>파일명