In the present paper, we investigate a preventive replacement policy based on multiple attributes. A system is subject to two types of shocks which arrive according to a non-homogeneous Poisson process. Type 1 shocks are minor and cause a random amount of damage to the system. We use a minimal repair to fix type 1 shock. Type 2 shocks are catastrophic and the system is correctively replaced at its occurrence. The probabilities of type 1 shock and type 2 shock are assumed to depend on age. A system fails (in a catastrophic failure type) once the cumulative damage reaches a failure level K or a type 2 shock happens. In addition, the system with cumulative damage of level z may fail (in a minor failure type) with probability at each type 1 shock occurrence and be rectified by a minimal repair. A replacement policy based on nature of failure, cumulative damage, system age and number of type 1 shocks is formulated. Under this policy, preventive replacement is made before catastrophic failure when the age of the system reaches T or the number of occurrences of type 1 shock achieves N or the accumulative damage exceeds a level Z but less than K, whichever occurs first, and corrective replacement is immediately carried out whenever the catastrophic failure of the system happens. We determine the optimum preventive replacement schedule such that the expected cost per unit time is minimized. The proposed model extends many existing models since the framework and analysis are general. Finally, the numerical example is provided.