Есть два подхода к данной задаче - использовать потоковое сжатие в один файл либо использовать встроенную функцию ротации и ротировать файлы по достижении определенного объема.
Начнем с потокового сжатия:
Как остановить сбор:
НЕЛЬЗЯ останавливать сбор данных по CTRL+C, это побьет архив!
Читаем собранный файл:
На мой взгляд более предпочтительна ротация силами tcpdump (ротируем как только дойдет до 100 мб файл):
В итоге через некоторое время в текущей папке будут созданы вот такие файлы:
Итак, стандартный bzip2 выдал мне сжатие в 4 раза ровно, попробуем включить его самый жесткий режим.
Начнем с потокового сжатия:
screen
tcpdump -i venet0 -n -w - | bzip2 -c > /root/tcpdump_23apr.pcap.bz2
ctrl+a d
Как остановить сбор:
killall tcpdump
НЕЛЬЗЯ останавливать сбор данных по CTRL+C, это побьет архив!
Читаем собранный файл:
bzcat /root/tcpdump_23apr.pcap.bz2 | tcpdump -n -r -
На мой взгляд более предпочтительна ротация силами tcpdump (ротируем как только дойдет до 100 мб файл):
screenНа CentOS же может понадобиться указать флаг -z root, чтобы не было понижения прав, которое приведет к ошибке записи в файл:
mkdir /root/whole_server_dump
tcpdump -i venet0 -n -w /root/whole_server_dump/pcap_dump -C 100 -z bzip2
tcpdump -i eth0 -n -w /root/whole_server_dump/pcap_dump -C 100 -z bzip2 -Z root
В итоге через некоторое время в текущей папке будут созданы вот такие файлы:
-rw-r--r-- 1 root root 28M Apr 23 11:31 pcap_dump1.bz2Также вместо bzip2 можно попробовать использовать lzma, который потенциально может сжимать лучше, но в конкретно моем случае процессор не успевал сжимать файлы с приемлемой скоростью.
-rw-r--r-- 1 root root 24M Apr 23 11:32 pcap_dump2.bz2
-rw-r--r-- 1 root root 23M Apr 23 11:32 pcap_dump3.bz2
-rw-r--r-- 1 root root 71M Apr 23 11:33 pcap_dump4
-rw-r--r-- 1 root root 39M Apr 23 11:31 pcap_dump.bz2
Итак, стандартный bzip2 выдал мне сжатие в 4 раза ровно, попробуем включить его самый жесткий режим.
vim /usr/bin/bzip2_bestПосле этого указываем этот скрипт как аргумент для -z. Но в моем случае это не дало никакого особого толку - сила сжатия не увеличилась.
#!/bin/bash
/bin/bzip2 -9 "$@"
chmod +x /usr/bin/bzip2_best
No comments :
Post a Comment
Note: only a member of this blog may post a comment.