rrdtool create node-1.rrd --start `date +%s` --step=300 \ DS:getattr:COUNTER:600:0:U \ DS:access:COUNTER:600:0:U \ DS:read:COUNTER:600:0:U \ DS:write:COUNTER:600:0:U \ RRA:AVERAGE:0.5:1:2016 \ RRA:AVERAGE:0.5:288:31 \ RRA:AVERAGE:0.5:2016:52 RRA1: 604800 RRA2: 2678400 RRA3: 31449600 --------------- 34732800 seconds = 402 days. So, theoretically I should be able to get the oldest data point by taking `date +%s` - 34732800. But, that seems not to be the case, as demonstrated here: server~$ echo "`date +%s` - 34732800" | bc; 1140373981 server~$ rrdtool fetch node-1.rrd AVERAGE --start $(echo "`date +%s` - 34732800" | bc) | head -3; rrdtool fetch node-1.rrd AVERAGE | tail -1 timestamp getattr access read write 1140048000: nan nan nan nan 1175106900: nan nan nan nan The number returned by the first command ought to match the first number in the fetch, but it does not?