Also set ensure => link, which seems to be needed to prevent the creation of the 0-byte file instead of the link.