[unix] munin 데이터 이관하기.. (32bit, 64bit)

서버 OS를 재설치 하면서.. 메모리도 그리 크지 않고 해서.. 

CentOS5 -> CentOS6으로 업그레이드 하면서.. 

64bit OS 쓰던 거를 32bit OS로 내렸다.

서버 기본 charset 설정도  euc-kr에서 UTF-8로 바꾸고..

근데.. 기존에 munin data를 가지고 왔는데.. 보통은.. /var/lib/munin/[hostname] 디렉토리만 복사해다 놓으면 됐는데..

이상하게 업데이트를 못하는 것이다..

좀 찾아보니.. 32/64bit 일때 data file이 좀 다른가보다.

해서.. 혹시나 담에 또 쓸일이 있을까봐 남겨놓는다..

원본링크 : http://www.porcheron.info/munin-migration-from-a-32bit-to-a-64bit-host/

일단 기존 서버(나같은경우는 64bit)에서 dump할 스크립트를 만들어서 실행한다.

=======

#!/bin/bash

for f in `find /var/lib/munin -name ‘*.rrd’ -print` ; do

    xml_file=`dirname $f`/`basename $f .rrd`.xml

   rrdtool dump “$f” > “${xml_file}”

   chown root:root “${xml_file}”

done

=======

실행하면.. 자료파일(rrd)가 있는곳에 xml파일이 하나씩 더 생긴다..

이걸 그대로 복사해서(디렉토리 째로 압축해버렸다.) 새로운 서버(나 같은 경우는 32bit OS서버)에 복사해놓는다.

그리고서.. import할 스크립트를 만들어서 실행한다.

======

#!/bin/bash

for f in `find /var/lib/munin -name ‘*.xml’ -print` ; do

   rrd_file=`dirname $f`/`basename $f .xml`.rrd

   mv -f “${rrd_file}” “${rrd_file}.bak”

   chown root:root “${rrd_file}.bak”

   rrdtool restore “$f” “${rrd_file}”

   chown munin:munin “${rrd_file}”

done

======

이렇게 하면.. 기존 rrd는 .bak으로 바뀌고.. dump했던 xml파일로 다시 rrd(32bit용)를 만든다.

나는.. root계정으로 /var/lib/munin 디렉토리에서 스크립트 만들어서 실행했는데.. 잘 됐다..

Loading