In my case, and due to the small size of the Pi system, I opted for a simple gzip dd image, made in off-line (shutdown osmc, place the sd card in the PC, do the backup).
Have already restore it for several times and work just as the perfect system snapshot.

I suggest to run something like the following command in a PC linux:

Backup:dd if=/dev/sdb bs=512 | gzip -c > backup.img.gz

Restore:gzip -d -c backup.img.gz | dd of=/dev/sdb bs=512

(assuming the sdcard is /dev/sdb in the pc)
This also works in windows using cygwin (just need gip.ex, dd.exe, and cygwin dll’s).

I’ve choose to use a 16GB micro sdhc, and partitioned it with the 2 needed osmc partitions (1 with fat for boot, and 1 with ext4).
Limited the size of the 2nd partition to stop around the 4GB boundary, and so making smaller images with (previously validated the correct partition ending sector+1 with fdisk):

dd if=/dev/sdb bs=512 count=8302592 | gzip -c > backup.img.gz

With this aproach I have compressed images with around 1.6 GB - 10 mins to backup, 20 mins to restore (depending on the sdcard and the reader).

If files are changed while dd is running you will end up missing files or parts of files rendering your backup useless and possibly so corrupted it won’t restore at all.

Consider using dd while kodi is running. If kodi writes to its database (a large and likely fragmented file) dd may have copied the first part of the database already and will not know kodi changed it. The later part of the database might be on a part of the disc that dd hasn’t copied yet, so it correctly gets that bit. Result: corrupt database.

simply copying files online might also not be the proper approach - during the copying process files may change and again, I would not trust the backup integrity …

Which is unfortunately why using dd to back up the root partition of a running OSMC system is not a good approach. Shutting down a Pi and pulling the SD card ensures a (logically and physically) consistent image, but this method isn’t possible on a Vero.

If files are changed while dd is running you will end up missing files or parts of files rendering your backup useless and possibly so corrupted it won’t restore at all.

Consider using dd while kodi is running. If kodi writes to its database (a large and likely fragmented file) dd may have copied the first part of the database already and will not know kodi changed it. The later part of the database might be on a part of the disc that dd hasn’t copied yet, so it correctly gets that bit. Result: corrupt database.

Yep. That’s it.

That’s Why I’ve suggested the offline approach - it is rather quick (more or less) but trustworthy:

nvdias:

In my case, and due to the small size of the Pi system, I opted for a simple gzip dd image, made in off-line (shutdown osmc, place the sd card in the PC, do the backup). Have already restore it for several times and work just as the perfect system snapshot. I suggest to run something like the following command in a PC linux: - Backup: dd if=/dev/sdb bs=512 | gzip -c > backup.img.gz - Restore: gzip -d -c backup.img.gz | dd of=/dev/sdb bs=512 (assuming the sdcard is /dev/sdb in the pc) This al…

I’m sorry for a stupid question (again) but given that I can’t run this on the pi itself as it boots from the sd card, how do i run this on a windows pc? Do I need a liveboot CD or usb or is there a clever way of getting the backup onto a blank microsd?

You need a linux system - yes, a liveboot CD will do it or boot the Pi with any version of OSMC, Raspbian or whatever. Copy osmc-restore to the root directory on the backup disc and chmod +x osmc-restore. Plug in the backup disc and the SD card in a card reader (USB card reader if on the Pi). Then run/path/to/script/osmc-restore /path/to/backup/dateofbackup.

Thanks for the advice. I got a USB SD card reader so as to do it all from the pi.
Unfortunately this is the output (I know I just invoke the script here, but it’s the same if I invoke it with the arguments “backupdir” and “media” as well

Quite right, I had copied and pasted on my phone. Downloading the zip fixed that.

I can’t get it to work though, this is the output
osmc@osmc:~$ sudo /home/osmc/osmc-restore /media/f03a3de0-b985-4320-8039-f555568fc686/osmcbackup/2017-05-18
sdb 115.3G disk
sdc 7.5G disk
sda 1.8T disk
mmcblk0 7.4G disk
Please enter the device name of the media to restore to … sdc

/dev/sdc is mounted but not removable - are you sure (Y/N)?
Can't find a suitable vfat partition for boot
754604KiB in system backup
Can't find a suitable ext partition for system
Time to restore: 00h:00m:01s
osmc@osmc:~$

The script expects the card to be already formatted for OSMC and is looking for a FAT partition of a certain size and an ext partition. If it’s not formatted for OSMC (ie factory formatted or Raspbian, LE, NOOBS, etc), use the -f option to format it.

If you think it is formatted correctly, lsblk -blo NAME,SIZE,TYPE,FSTYPE | grep sdc will give me some clues.