tail 및 gzip 로그 파일에 쉘 스크립트 작성

tail 및 gzip 로그 파일에 쉘 스크립트 작성

원격 서버에서 로컬 디렉터리까지 로그 파일을 추적할 수 있는 스크립트를 만들려고 합니다.테일-F내가 사용하고있는 것이지만 파이핑 후에보관소, 로그 파일의 로컬 복사본이 생성되더라도 아무 일도 일어나지 않습니다.

고쳐 쓰다: 스크립트가 실행되지만 테일링을 끝내려면 ctrl+c를 입력해야 하기 때문에 gzip 명령에 도달할 수 없습니다. 따라서 압축도 하지 않고 스크립트를 종료합니다.

to_Tomcat(){
        # tail log file -> zips it using gzip 
        tail -F /sampleRemoteDirectory/logs/tomcat/sample.log > "$TomcatLogFileName"-Tomcat.log | gzip "$TomcatLogFileName"-Tomcat.log
        echo ""
        echo "...tailing the log file and saving it as $TomcatLogFileName-JBoss.log.gz"
        echo ""
    }

to_Tomcat TomcatLogFileName
                sleep 10            
ret=$?

# last note before the user has to exit the shell script

echo ""
echo "Saved file: $TomcatLogFileName-Tomcat.log.gz"

답변1

tail -f마지막 몇 줄을 캡처하려면 (100 또는 무엇이든) timeout시도해야 한다는 점을 제외하면 대화형을 의미합니다 .tail -100

주요 부분은

tail -100 /whatever/sample.log | gzip > /whatever/sample.log.gz

관련 정보