Cron 과 Cband 이용 일일 트래픽량 기록하기
2026. 7. 16. 17:52ㆍ백엔드/리눅스
1. 쉘 스크립트 작성
#!/bin/bash
DOMAIN="도메인.com"
CBAND_DIR="/var/spool/cband"
LOGFILE="/var/log/cband_daily_traffic.csv"
HTTP_FILE="${CBAND_DIR}/${DOMAIN}"
HTTPS_FILE="${CBAND_DIR}/$(echo "$DOMAIN" | tr '[:lower:]' '[:upper:]')_SSL"
get_bytes() {
if [ -f "$1" ]; then
od -An -tu8 -N8 "$1" | tr -d ' '
else
echo 0
fi
}
HTTP_BYTES=$(get_bytes "$HTTP_FILE")
HTTPS_BYTES=$(get_bytes "$HTTPS_FILE")
TOTAL_BYTES=$((HTTP_BYTES + HTTPS_BYTES))
HTTP_MB=$(awk "BEGIN {printf \"%.2f\", $HTTP_BYTES/1024/1024}")
HTTP_GB=$(awk "BEGIN {printf \"%.3f\", $HTTP_BYTES/1024/1024/1024}")
HTTPS_MB=$(awk "BEGIN {printf \"%.2f\", $HTTPS_BYTES/1024/1024}")
HTTPS_GB=$(awk "BEGIN {printf \"%.3f\", $HTTPS_BYTES/1024/1024/1024}")
TOTAL_MB=$(awk "BEGIN {printf \"%.2f\", $TOTAL_BYTES/1024/1024}")
TOTAL_GB=$(awk "BEGIN {printf \"%.3f\", $TOTAL_BYTES/1024/1024/1024}")
# 최초 1회 헤더 생성
if [ ! -f "$LOGFILE" ]; then
echo "DATE,DOMAIN,HTTP_BYTES,HTTP_MB,HTTP_GB,HTTPS_BYTES,HTTPS_MB,HTTPS_GB,TOTAL_BYTES,TOTAL_MB,TOTAL_GB" > "$LOGFILE"
fi
echo "$(date +%F),$DOMAIN,$HTTP_BYTES,$HTTP_MB,$HTTP_GB,$HTTPS_BYTES,$HTTPS_MB,$HTTPS_GB,$TOTAL_BYTES,$TOTAL_MB,$TOTAL_GB" >> "$LOGFILE"
[root@web61 log]# crontab -l
00 17 * * * touch /iweb/zzzzzzz
0 3 * * * /root/crowdsec_apply.sh >/dev/null 2>&1
2. cron 등록
crontab -e
55 23 * * * /bin/bash /opt/cmd/script/cband_daily_traffic_record.sh
-> 결과: 이렇게 누적 저장 됨
| DATE | DOMAIN | HTTP_BYTES | HTTP_MB | HTTP_GB | HTTPS_BYTES | HTTPS_MB | HTTPS_GB | TOTAL_BYTES | TOTAL_MB | TOTAL_GB |
| 2026-07-16 | 도메인.com | 120189109 | 114.62 | 0.112 | 1860238964 | 1774.06 | 1.732 | 1980428073 | 1888.68 | 1.844 |
| 2026-07-16 | 도메인.com | 120189109 | 114.62 | 0.112 | 1872588334 | 1785.84 | 1.744 | 1992777443 | 1900.46 | 1.856 |
'백엔드 > 리눅스' 카테고리의 다른 글
| SMTP 로그 파헤치기 (0) | 2026.07.14 |
|---|---|
| SMTP 연동 실패 해결방법 (0) | 2026.06.29 |
| RAID 복구하기 (0) | 2026.06.27 |
| 리눅스 :: 웹 서비스 접속 지연 트러블슈팅 (DNS, curl, DevTools 활용) (0) | 2026.06.22 |
| 리눅스 :: 파티션과 디스크, 부트로더 (0) | 2025.09.12 |