Dietpi-backup questions

Just a suggestion and a few questions:

Backing up your system with dietpi-backup works fine, but I do not understand the messages it produces in the end:

  • Which files are deletd by resore, and why?
  • Where do I find explanations of “>f.st…”, “cL+++++++++”, “>f+++++++++”, “>f..t…”, and so on?
  • When it finishes, it says to look into the message list, esp. in case of errors, but the error messages seem to be hidden in those thousands of messages. There does not see to be a more comfortable scrolling facility or the option to save these messages to a file.
  • When a restore fails, does it revert to the state of the files before the restore operation started?

Many regards, and many thanks for the good work on dietpi.

Be default, the log is saved into the backup location. If you don’t change anything, its located at /mnt/dietpi-backup/dietpi-backup.log

The log contains rsync messages, as this is the tool behind the backup functionality. Instead of just telling you a file was “sent,” rsync uses a coded string to tell you exactly what changed about that file. The string is always 11 characters long.

As I’m to lazy to type by myself, I ask Gemini AI to give an explanation

Decoding the Format

Each character position represents a specific attribute. Here is how to read your specific logs:

1. The Update Type (Position 1)

  • >: The file is being transferred to the destination (sent - backup).
  • <: The file is being transferred from the source (receive - restore).
  • .: The item is not being transferred (usually because it’s a directory being traversed).
  • c: local change

2. The File Type (Position 2)

  • f: A regular file.
  • d: A directory.
  • L: symLink

3. The Attribute Flags (Positions 3–11)

These letters only appear if that specific attribute changed. A . means that attribute stayed the same.

  • s: Size differs.
  • t: Timestamp (modification time) differs.
  • p: Permissions differ.
  • o: Owner differs.
  • g: Group differs.

Some example to break down

Log Entry Meaning
.d..t...... var/tmp/ This is a directory (d). It wasn’t “sent” (.), but its timestamp (t) was updated on the destination to match the source.
>f..t...... ...ramlog.log This is a file (f) being sent (>). Only the timestamp (t) was different; the size and other attributes matched.
>f.st...... ...update.log This is a file (f) being sent (>). Both the size (s) and the timestamp (t) have changed since the last sync.