If your database is relatively small, I would recommend
http://www.pgbarman.org/. It does binary backup and will take care of your WAL files. The laster version of pgbarman can also take backups from a slave using pgespresso extension. Note that pgbarman runs over streaming replication protocol.
If your database is big, go for pg_basebackup and archive_command. You can run this on a slave. The pg_basebackup will give you the base and during restore you can use restore_command with recovery_target_time for example to replay from the archived WAL files.