Opportunistic maintenance (OM) is a key solution to reduce the maintenance costs or/and to improve the system dependability/performance. However, the existing OM models are mainly developed to specific classes of systems (series structures) with specific types of maintenance opportunities (MOs) such as component failure. The objective of this paper is to develop a dynamic OM approach for multi-component redundant systems such as parallel, parallel-series, series-parallel, and k-out-of-n, etc. Various types of MOs are also considered. To this purpose, a generalized MO model is firstly proposed for the modeling and formulation of existing MOs and new ones. A dynamic OM model with flexible decision rules allowing to consider various types of MOs in maintenance decision-making is then introduced. In addition, a multi-mode logistic support model is also proposed to better incorporate different types of MOs with associated logistic support requirements. To find the best OM scenario, an efficient optimization algorithm using Genetic algorithm with memory is developed. The proposed optimization algorithm allows also updating online an OM maintenance plan in presence of new MOs which may occur with time. The uses and advantages of the proposed OM approach are illustrated through a six-component redundant system.