> NOTE this is an interim copy of some notes I am writing and is still incomplete.

There are many questions on this site asking how to backup a Raspberry Pi.

The most important thing is to **actually perform backups**, and the faster and easier the process the better.
I have used the following 4 methods (although there are others)

# 1. Create a **disk image**
*Advantages*:    

 - This can be done (off-line)  on any computer system (Windows, macOS or Linux) although the methods differ.
 - Can backup any type of SD Card even NOOBS or other multi OS systems.

*Disadvantages*:  

 - The image files created are LARGE (as large as the SD Card) and contain useless data, although they generally compress well.
 - The image can only be restored to a SD Card of the same size or larger. (Nominally identical cards often differ in size.)   

https://raspberrypi.stackexchange.com/questions/311/how-do-i-backup-my-raspberry-pi


# 2. rsync file copy
These techniques (there are many variants) performs a file by file copy retaining Linux attributes (links, permissions etc.).
Variants exist to copy a live system or an off-line SD Card.  

*Advantages*:    

 - This only copies essential files (if properly configured) so makes smaller "images".
 - The copy can be faster, especially if the previous backup is incrementally updated.  

*Disadvantages*:  

 - The process CAN be slow (especially for large systems).
 - The backup medium NEEDS to understand Linux file systems.
 - The process does not retain partition information, so needs to be restored to a correctly formatted image.  

https://raspberrypi.stackexchange.com/a/5492/8697 discusses this technique, and is recommended reading.  
https://raspberrypi.stackexchange.com/a/28087/8697

# 3. SD Card Copier  
This is a tool included in newer Raspbian images which copies a live OS to a SD Card.
This is a hybrid technique which creates an image then uses file copy to populate the image.  

*Advantages*:    

 - Can copy to any size SD Card (larger or smaller - assuming the Card is large enough)  

*Disadvantages*:  

 - Can be very slow as it performs a fresh copy each time, and file copy is inherently slower than block copy.
 - Mainly applicable to conventional Raspbian images, although it can copy multi OS systems only the last partition size is adjusted.
 - SD Card Copier seems to be intolerant of SD Card defects and works better with fresh cards.

# 4. Create an image of a running system  
This is a hybrid technique which creates an image then uses rsync to populate the image.
It is useful for creating smaller images of a system or backup images which can easily be customised.  

*Advantages*:    

 - Can create an image on any storage medium which allows large files and is supported by Pi e.g. ext4, exFAT or a network drive.
 - Can create full size images, minimum size images or images of arbitrary size.
 - Incremental backups are fast and simple.  

*Disadvantages*:  

 - Only applicable to conventional 2 partition images e.g. Raspbian.  

https://raspberrypi.stackexchange.com/a/103991/8697


## General Observations

There is a potential risk performing a backup of an active system, although the risk is small. Obviously you would not perform a backup during an upgrade or other process which is likely to require extensive filesystem changes. Most of these techniques can be adapted for off-line use.

Modern Linux systems utilise UUID (PARTUUID for Raspberry Pi systems) to identify partitions. It is a good idea to ensure each image has a unique **PARTUUID** and there are [tools](https://raspberrypi.stackexchange.com/a/95989/8697) to perform this. (SD Card Copier has an option to perform on copy.)

There are a number of tools which can shrink an OS Image.