Tendo problemas com o retry
comando quando emparelhado com rsync
. retry
é um pacote Debian e afirma que pode "Repetir o comando até que um critério seja atendido, geralmente sucesso". Tentando usá-lo rsync
em uma conexão que às vezes pode falhar. Porém sempre dá o mesmo erro: giving up: No such file or directory
:
retry '/usr/bin/rsync -av source destination'
retry: Could not execute 'rsync -av source destination', giving up: No such file or directory
Ambos source
e destination
existem. Eu tentei usar o caminho absoluto, aspas simples e duplas, aspas em torno de caminhos e caminhos como variáveis, mas nenhum funcionou. Posso usar a abordagem desta solução , mas é bastante complicado ao criar vários diretórios. Há algo que estou perdendo?
O problema é que
retry
tenta executar um arquivo chamado'/usr/bin/rsync -av source destination'
(incluindo os espaços no meio).Para saber
retry
quersync
é o comando, e-av
,source
, edestination
são os parâmetros que pertencem aorsync
comando, você precisará executá-lo da seguinte maneira:A razão pela qual você precisará do
--
(traço duplo) é para significar o fim das opções de comando e o inÃcio dos argumentos posicionais. Sem o--
antes do comando,retry
pensará que-av
é uma de suas opções de comando e lançará o seguinte erro:Eu posso ver dois ou talvez três problemas aqui. (E obrigado pelo link para
retry
; não o encontrei antes.)O comando de destino é analisado "como de costume" com espaços entre o comando e cada um de seus argumentos. Citar o comando inteiro significa que ele
retry
tentará executá-lo como um comando sem nenhum parâmetro:A correção aqui é evitar citar o comando e seus parâmetros em sua totalidade.
Remover as aspas ainda gera um erro, mas desta vez é porque
retry
está tentando processar os-av
argumentos que são destinados ao `rsync:A correção aqui é usar um traço duplo (
--
) após as partes especÃficasretry
para que ele pare de tentar processar outros parâmetros:Executar isso até a conclusão bem-sucedida resultará em você terminar com
src
menos dedst
:Se você deseja
dst
ter o conteúdo desrc
, inclua uma barra à direita emsrc/
: