RRD data files aren't compatible across different architectures, this post will explain how you can convert them so you can utilise them on a different system.

Recently I got the RRDTool addiction again and decided to start graphing pretty much anything I could think of. I have been generating some data sets on my server for this and needed to try out some new generation options but had no data on the local machine... "i'll just download the rrd files from the server then!", if only it was as easy as that! If your server is one architecture and your local machine another you'll need to convert the files before RRDTool will go near them, and the following is how you do it. I had quite a few rrd files I wanted to use, so this is a batch method to get them all done in one go.

First on the server run this command in the folder containing your rrd files...

for i in `find -name "*.rrd"`; do rrdtool dump $i > $i.xml; done 

Then download all the XML files locally, then run this command to rebuild them...

for i in `find -name "*.xml"`; do rrdtool restore $i `echo $i |sed s/.xml//g`; done

With that, all done!

I currently work at the Forward Internet Group and we are based in Camden Town in London. We are always exploring new technology to try and solve our problems and we are always on the look-out for talented people who want to learn & innovate. If you think you've got what it takes and you're up for the challenge, why not join us?