Rust happens when oxygen, water, and iron are exposed to each other.
every 7 years the Eiffel Tower is completely re-painted to hide the rust underneath all the layers. They apply 50 metric tons of three graded tones of paint every 7 years to protect the 200,000 square meters of iron lattice work from rust. This, in my opinion, is NOT a good strategy to prevent rust because at some point its going to be way to many layers and the paint may start to chip or fall off in big chunks.
my idea to prevent rust on the Eiffel tower is to build a glass domain around the Eiffel tower protecting it from the rain coming in contact with the iron. This is a big project but its better than wasting 1500 brushes, 5000 sanding disks and 1500 sets of work clothes every 7 years and its more pratical than doing something like coating the Eiffel tower in oil or some kind of mixture to help prevent rust.
They could build a very pretty, antique looking domain surrounding the Eiffel tower and have an opening so people could still visit the inside of the structure. They could build the domain out of another material rather than iron so that domain doesn't also rust or they could make an all glass domain and have iron bars in the shape of octagons for design. Even though the whole part of the domain was to help PREVENT rust and prevent people from having to paint the Eiffel tower its still better then having to paint the whole tower every seven years and you probably wouldn't even have to paint the iron bars as frequently and its wouldn't be as big as a job.