bash 스크립트의 표준 및 오류 출력을 파일로 쉽게 리디렉션 할 수 있으며 간단한 exec
명령문 으로 콘솔에 출력을 삭제할 수 있습니다 .
exec &>>/var/log/backup.log
그러나 exec
첫 번째 파일에 추가하고 두 번째 파일을 다시 작성하여 두 파일에 쓰는 방법은 무엇입니까? 아마 약간의 tee
마법을 사용해야 할 것입니다. 또한 콘솔을 음소거하는 방법도 찾아야합니다.
그 이유는 내 백업 스크립트 때문입니다. 주 로그에 최신 백업 이벤트를 추가하고 이러한 이벤트 만 현재 백업 로그 (이전 내용 지우기)에 기록하고 각 백업 세션을 다시 작성해야합니다.
할 수 있습니다. 프로세스 대체가 필요합니다. tee
나머지는 덮어 쓴 파일 을 호출 하고 리디렉션 하는 하위 프로세스로 스트림을 리디렉션합니다.
exec &> >(tee -a backup.log > overwritten.log)
스크립트가 종료되거나 다른 리디렉션이 설정 될 때까지 스트림이 열려 있기 때문에 전체 스크립트에서 파일을 한 번만 덮어 씁니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다