로그를 작성해야하는 bash 스크립트가 있습니다. 현재 아래 블록과 같은 블록을 사용합니다.Bash 스크립트 로깅 사용
#log stop request
{
local now=$(date +"%a %b %d %Y %H:%M:%S")
printf "batch stop request successful. \n"
printf " Time :: %s\n" "$now"
printf " PID of process :: %s\n" ${PID[0]}"
} >> "${mylogfile}"
여기서 mylogfile 변수에는 로그 파일의 이름이 있습니다.
이 접근법의 문제점은 2 개 이상의 인스턴스가 실행 중일 때 로그가 인터리브되는 인스턴스의 쓰기로 인해 엉망이되는 경향이 있다는 것입니다.
블록을 사용하여 로그를 한 번에 파일에 기록하므로 문제가 발생하지 않도록주의하십시오.
Vivek Gite post에서 로거 명령을 보았습니다. 하지만 문제는 내가 지정할 수있는 파일에 쓰지 않고/var/log/message에 쓰는 것입니다.
도움을 주시면 감사하겠습니다. 하나의 문자열로 3 printfs 퍼팅 시도
감사합니다 감사합니다 SIBI
모든 글을 하나의 'printf' 문으로 그룹화하면 어떻게됩니까? 단일 메시지에 대해 여러 행을 포기하고 전체 메시지에 대해 한 행만 사용하면 어떻게됩니까? –
작동하지 않습니다. 여전히 인터리브 메시지가 표시됩니다. –