We recommend sanding back the rusted areas and then directly applying Rust-Oleum Multi-Surface Matt Black. It should last a few years but Rust-Oleum don't specify a lifecycle. Zinsser Allcoat would also be suitable and provide a longer term coating.