Um método melhor do que escrever um script homebrew seria usar rrsync , que nas distribuições baseadas no Debian você já deveria ter instalado ao lado de rsync in /usr/share/doc/rsync/scripts/rrsync.gz . Nesse caso, simplesmente execute o seguinte comando para descompactar o script gzipado em /usr/bin/rrsync :
gunzip /usr/share/doc/rsync/scripts/rrsync.gz -c|sudo tee^Cusr/bin/rrsync && sudo chmod +x /usr/bin/rrsync
(quando já estiver rodando como root , você pode obviamente deixar de lado as invocações sudo )
Em alternativa, transfira rrsync aqui .
Lembrete: ter rsync instalado na máquina remota (aquele com o arquivo authorized_keys ) é um pré-requisito aqui.
Quando isso for feito, você pode simplesmente preceder um command= na frente de uma linha com uma chave pública, invocando rrsync .
Normalmente, você inclui algumas opções de SSH restritivas junto com o command= , por isso pode ser assim:
command="/usr/bin/rrsync -wo /data/backup/",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ecdsa-sha2-nistp521 AAAAE...
Ao fornecer esse diretório (você pode usar -ro para somente leitura e -wo para somente gravação), você pode deixar o diretório na invocação rsync .
Assim, sua linha de comando se tornaria rsync [...] / username@remotemachine: (lembre-se do caminho ausente após o : ).