Yeah, the idea is sound. Encouraged, even. It can get a bit expensive if you're holding multiple copies and S3 (as one example) is itself pretty expensive compared to, for example, sticking a HP Microserver in another physical location. Weigh up the risk.
Onsite is okay if there's enough physical space between the two copies to lower the potential damage of fire. If you can push that to a secure, flood-safe outbuilding, all the better.
And duplicity
can already handle a buttload of backends (as proofed by its --help
argument):
Backends and their URL formats:
cf+http://container_name
file:///some_dir
ftp://user[:password]@other.host[:port]/some_dir
ftps://user[:password]@other.host[:port]/some_dir
hsi://user[:password]@other.host[:port]/some_dir
imap://user[:password]@other.host[:port]/some_dir
rsync://user[:password]@other.host[:port]::/module/some_dir
rsync://user[:password]@other.host[:port]/relative_path
rsync://user[:password]@other.host[:port]//absolute_path
s3://other.host/bucket_name[/prefix]
s3+http://bucket_name[/prefix]
scp://user[:password]@other.host[:port]/some_dir
ssh://user[:password]@other.host[:port]/some_dir
tahoe://alias/directory
webdav://user[:password]@other.host/some_dir
webdavs://user[:password]@other.host/some_dir
gdocs://user[:password]@other.host/some_dir