Backing-up is a crucial process that everyone should do in order to have a fail-safe, for when the inevitable happens. The principle is to make copies of particular data in order to use those copies for restoring the information if a failure occurrs (a data loss event due to deletion, corruption, theft, viruses etc.). You can perform the backup manually by copying the data to a different location, or automatically using a backup program. Each program has its own approach in executing the backup, but there are four common backup types implemented and generally used in most of these programs: full backup, differential backup, incremental backup and mirror backup. A type of backup actually defines how data is copied from source to destination and lays the grounds of a data repository model (how the back-up is stored and structured).