나는 이것이 여러 번 질문을 받았음을 알고 있지만 내 경우에는 적절한 대답을 찾을 수 있습니다.
rsync를 사용하여 백업 스크립트를 작성했으며 모든 스크립트 명령에서 오류 여부에 관계없이 모든 출력을보고 싶습니다. 스크립트 자체 내에 명령을 작성해야하며 쉘에서 출력을보고 싶지 않습니다. 나는 성공하지 못한 채 노력해 왔습니다. 스크립트의 일부 아래.
#!/bin/bash
.....
BKLOG=/mnt/backup_error_$now.txt
# Log everything to log file
# something like
exec 2>&1 | tee $BKLOG
# OR
exec &> $BKLOG
명령 줄의 여러 부분에서 exec | tee $BKLOG
추가하는 모든 종류의 스크립트 beginig 에 추가 &>, 2>&1
했지만 모두 실패했습니다. 빈 로그 파일을 얻거나 불완전합니다. 로그 파일에서 rsync 가 수행 한 작업과 동기화 전에 스크립트가 실패한 경우 오류를 확인해야합니다.
도움을 주셔서 감사합니다. 내 쉘은 zsh이므로 zsh의 모든 솔루션을 환영합니다.
모든 stdout / stderr를 파일로 리디렉션하려면 다음 줄을 스크립트 맨 위에 놓으십시오.
BKLOG=/mnt/backup_error_$now.txt
exec &> "$BKLOG"
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다