This Ansible role allows you to manage a backup host which will use rsnapshot to create remote backups of other hosts. You can let Ansible configure both the central backup "clients", which run rsnapshot and store backups, as well as the "servers" which the clients connect to, which run rsync in read-only mode on root accounts.

You can also configure rsnapshot clients to backup external hosts which are not managed by Ansible, but you will need to set up the connection (SSH access, rrsync script) yourself on the server side.