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 :
).