O método usual é (escrevendo da memória):
NEWBACKUP='date +%s' # or some other format
cp -al "$OLDBACKUP" "$NEWBACKUP"
rsync -aH --delete "$SOURCE" "$NEWBACKUP"
Confira Backups fáceis no estilo de instantâneos automatizados com Linux e Rsync
Existe também uma opção --link-dest
no rsync que eu nunca investiguei corretamente.