Então, @ericooliveira,
Antes de entrarmos no mérito de tais e quais opções fazem o quê, é necessário ver que o conceito geral dessa proposta de backup está errada.
Isso não é verdadeiramente um backup e sim, quando muito, uma cópia sincronizada, o que são coisas diferentes.
Um backup para ser minimamente digno do nome precisa ter, pelo menos, um rodízio de arquivos copiados, onde apenas os mais antigos são de fato elimnados.
A sincronização torna o destino igual a origem, mas o backup vai além, ele preserva as cópias por algum tempo, conforme algum critério.
Um exemplo simples para ilustrar o que se está dizendo.
Tenho uma planilha qualquer na qual estou trabalhando.
Faço isso e faço aquilo na planilha e depois, inadvertidamente e sem perceber deleto a tal importante planilha.
O meu script de backup, esse que está aí proposto, está programado no cron para ser executado diariamente a tais horas.
Como o script está usando o parâmetro --delete isso irá ocasionar que ao constatar que na origem a planilha não existe mais, então ela será apagada também no destino, ou seja, feita a sincronização.
Pois bem, daqui a uma semana volto para trabalhar na minha planilha.
Vou lá no meus arquivos e não acho minha planilha, não lembro o que aconteceu, não sei dizer porque ela não está lá.
Então vou ao meu "backup" para recuperar a planilha que não estou encontrando junto aos meus arquivos.
E aí o susto, descubro que ela também não está mais lá no suposto "backup".
Está feita e perfeita e tragédia do backup mal feito!
Um backup precisa ir fazendo uma "pilha" de arquivos, removendo apenas os mais antigos conforme algum critério (uma semana, um mês, um ano, sei lá, depende das necessidades de cada aplicativo/pessoa/organização).
Se vai implementar isso por script, certamente é possível, porém o nível de programação não pode ser algo assim simplório, certamente haverá a necessidade de sofisticar muito mais o que está proposto.
Acontece que todo esse esforço de programação já foi feito por alguém (alguéns), usando uma linguagem de programação mais poderosa e abrangente que um bash script (que também é poderoso, mas nem tanto como, por exemplo, dentre várias outras, um C++), daí a existência de vários e vários programas "profissionais" de backup, já pensados, testados e com manutenção mantida.
O esforço é muito menor ao usar um bom programa de backup e a segurança é muito maior de estar fazendo a coisa certa.
É isso.