This would be very easy to do as an external process. You could use a PLC and an encoder or if you wanted to apply some backyard engineering, you could use an Arduino and a photo sensor and black wheel with white line as an encoder on the drive motor. You don't need a high resolution encoder for something like this. Two counts per motor rev is probably enough. You don't need to oil the bearings at exactly 50m down to the thou. If it's a few cm off either way it won't matter too much.
All you'd need to know is the number of counts per meter...of if you use a high res encoder, you could track mm and set your oil point at 50,000mm. The logic would be simple. Just keep a running total and when it hits the set point, trigger a relay for a few seconds, clear the total and start over.