Apenas estamos na mesma página:
-r recursive
-l preserve links
-c sync based on file checksum
-t preserve modification times
Depois duas coisas:
É apenas um sistema de arquivos thingy
Se a pasta de destino for uma montagem NFS ou algum sistema de arquivos que não manipule bem os mod-times, ela será interrompida.
Tente adicionar o parâmetro -O
(para --omit-dir-times
) ao seu comando.
Os tempos de modificação serão preservados, mas serão omitidos para os diretórios:
${RSYNC} -crlOt -e ${SSH} ${LOCAL_DIR} ${REMOTE_HOST}:${REMOTE_DIR}
Este é o meu melhor palpite, já que a sincronização de arquivos parece funcionar, e seu erro ocorre na sincronização de horários mod. De qualquer forma, você realmente precisa preservar os tempos de modificação ? A opção -c
ignora os arquivos com base na soma de verificação (portanto, tempos de modificação não importam).
Ou é, na verdade, um problema de permissão
- o usuário que está executando o script tem privilégios suficientes para editar / gravar a pasta de destino? (tente
ssh -vv test.desktop "touch /dept/intranet/dept/atest/f1/test"
) - o usuário que está executando o script é "o Right One ™" (tente
ssh -vv [email protected] "touch /dept/intranet/dept/atest/f1/test"
)
Nenhuma das opções acima
Execute seu comando com a opção -v
, para verboso.