I rsync my Calibre installation to a remote computer a couple times a day. Been doing this for years. Never ever had a problem, even when I accidentally left Calibre running on the source machine.
My specific set up:
- My primary Calibre is running on my desktop computer - Linux - as an installed application
- I rsync my primary Calibre to a remote Linux server daily via a cron script and also manually after I add any new books
- The server runs "Calibre Web" (this is third-party software, not supplied by Calibre) in a Docker container
- The server directory that holds the rsync'ed Calibre data is mounted read-only to the Calibre Web Docker container
- Calibre Web is configured to not allow any updates to the Calibre data it serves (updates wouldn't work anyway, since the data is mounted read-only, but turning off the functionality prevents error messages from being displayed)
- After the rsync completes, the script (that does the rsync) restarts the Calibre Web Docker container to pick up the changes
- All external access to my Calibre library accesses Calibre Web on the server via the Docker container using https that is reverse-proxied by Nginx (also running in a Docker container)
- Both my primary Calibre installation on my desktop and the rsync'ed copy on the server are backed up daily to a remote backup server, also Linux, using software named UrBackup, which I believe uses rsync under-the-hood for the backup
Calibre should not be running when you do the rsync IMHO. However, when I have accidentally left it running I have never experienced any problems. Even if I did, I could just shut down Calibre and re-run the rsync. Note that I am doing a one-way rsync from my desktop computer to my server computer. Rsync never updates anything on the desktop end, it only copies data over to the server. I run my primary Calibre instance on my desktop "on demand" only. When I'm done doing what I'm doing with it, I shut it down. I have no need for it to be running continuously.