디스크 사용량 데이터를 수집하고 있으며 이 명령에 날짜, 시간 및 호스트 이름을 추가하고 싶습니다. 이 형식으로 어떻게 할 수 있습니까?
YYYY-MM-DD HH:MM:SS,HOSTNAME,DISK_USAGE_DATA
지금까지 내 명령은 다음과 같습니다.
df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $2 "," $3 "," $4 "," $1 }'
또한 기본 혼합 GB/MB 크기 대신 KB 단위로 크기를 지정하는 명령의 출력을 어떻게 얻을 수 있습니까? 이렇게 하면 계산할 때 기초를 다질 수 있습니다.
답변1
awk
이 작업은 혼자서도 수행할 수 있습니다.
df -B KB | awk 'NR!=1&&$1!~/tmpfs|cdrom/{printf "'$(date "+%Y-%m-%d-%H:%M:%S")','$(hostname)',%s,%s,%s,%s\n", $2, $3, $4, $1}'
설명하다:
df -B KB
:값을 KB 단위로 인쇄합니다.awk
NR!=1
: 첫 번째 줄을 피하십시오$1!~/tmpfs|cdrom/
: 첫 번째 필드에 제외된 파일 시스템이 포함되어 있지 않은 경우printf
: 인쇄 서식 지정$(date +%Y-%m-%d)
: 원하는 형식의 날짜$(hostname)
:CPU 이름%s,%s,%s,%s\n
: 그리고 그 나머지