Is rsync suitable for IoT devices to move data from and to the cloud?
Is there an equivalent for devices that have an unreliable connection?
It is possible with rsync but it is 1-1 and needs you to have a server running in the cloud. If you use Amazon S3 instead, you can just use the AWS client with the sync option to put the data to S3 in the cloud. Then, you could use that to sync to another (1 or more) computers if you need it.
If you dont want to use the AWS client on your device, you could use rclone and still have an S3 backend. rclone even supports Microsoft Azure blob storage and a whole lot of others too.
syncthing.net provides similar services to rsync.
Unreliable connectivity can be mitigated by scheduling and if needed, triggering based on connectivity establishment.