새 디렉터리에 로그 백업

새 디렉터리에 로그 백업

로그 파일을 복사하는 스크립트를 작성해야 합니다.

로그는 두 가지 형식으로 제공됩니다.

  • System_<date_timestamp>.log
  • trace_<date_timestamp>.log

추적 로그가 20MB에 도달하고 시스템 로그가 10MB에 도달하면 새 파일이 생성됩니다.

이 로그 중 5개(각 유형당 5개)만 저장할 수 있으며, 5개를 초과하면 이전 파일이 삭제되고 새 파일로 교체됩니다.

따라서 삭제하기 전에 나중에 디버깅해야 할 경우 볼 수 있도록 다른 위치에 복사해야 합니다.

기본적으로 다음과 같습니다(시스템 로그와 유사하게 추적 로그 형식만 표시됨).

trace_12.03.05_17.11.20.log
trace_12.03.05_17.12.30.log
trace_12.03.05_17.13.45.log
trace_12.03.05_17.13.23.log
trace_12.03.05_17.14.40.log

답변1

log-rotate를 사용하여 동일한 작업을 수행할 수도 있습니다. 다음 예를 참조하세요.

# Logrotate file for trace

/source/path/trace_*.log {
    missingok
    create
    compress
    rotate 1
    lastaction
        # After compressing logs, move to other location 
        Log_dir="/target/dir/old_log_$(date +%F)/$(date +%H_%S)/"
        [[ ! -d "${Log_dir}" ]] && /bin/mkdir -p "${Log_dir}"
        /bin/mv /source/path/*.gz "${Log_dir}"
    endscript
}

위의 파일을 저장하고 /etc/logrotate_trace.conf 간단히 시간별 크론 작업을 설정하세요.

00 * * * * /usr/sbin/logrotate  -f /etc/logrotate_trace.conf

테스트를 위해 명령줄에서 실행할 수 있습니다.

/usr/sbin/logrotate  -f /etc/logrotate_trace.conf

답변2

GNU 사용 cp(내장되지 않은 대부분의 Linux 배포판 및 일부 기타 Unices에서 사용 가능):

cp -p --update /source/path/trace_*.log /target/dir

답변3

가장 직접적인 도구는동기화는 새 파일을 복사하고, 변경된 파일을 업데이트하며, 변경되지 않은 기존 파일을 유지합니다.

rsync -a /path/to/source/*.log /path/to/backup/directory/

관련 정보