한 디렉터리에서 다른 디렉터리로 로그를 지속적으로 복사하는 방법이 있습니까?

한 디렉터리에서 다른 디렉터리로 로그를 지속적으로 복사하는 방법이 있습니까?

특정 디렉토리에 로그 파일이 있습니다 /A. 파일의 파일을 업데이트하면 /B전체 파일을 다시 쓰지 않고도 파일의 파일도 업데이트된다는 점을 고려하면 디렉터리의 동일한 내용을 유지하는 것이 가능합니까?/A/B

답변1

정기 업데이트를 사용할 수 있는 경우 다음을 사용할 수 있습니다 rsync --append.

rsync --append source destination
--append
          This  causes rsync to update a file by appending data onto the end of
          the file, which presumes that the data that  already  exists  on  the
          receiving side is identical with the start of the file on the sending
          side. 

충분하지 않다면 이 --append-verify옵션을 시도해 볼 수도 있습니다.

답변2

나는 그것을 시도하지 않았지만 tail -fn+0작동해야합니다. 이는 일반 텍스트 파일인 로그에 작동합니다. 로그를 생성하는 프로그램은 다음과 같아야 합니다.추가의파일로.

(파일에 저장 copylog.sh)

#!/bin/bash

## This script reads log $1 and saves copy to $2

# Usage: copylog.sh source dest

tail -fn+0 "$1" > "$2"

그런 다음 실행 ./copylog.sh /var/log/log-1 /home/user/log.txt하여 로그 /var/log/log-1/home/user/log.txt.

관련 정보