Como usar o rsync 3.0 para especificar um caminho de upload relativo, gerar subpastas

2

Estou escrevendo um script no qual gostaria de carregar arquivos individuais e ter a estrutura de pastas gerada automaticamente como mkdir -p, mas não consigo que o rsync 2.6.9 (ambos) coopere.

Parece que o rsync está criando apenas um nível de pastas, caso contrário, haverá erros.

Estou tentando reproduzir as ações ncftpput -C -R -m remote-host local-path-name remote-path-name (o modo Recursivo do ncftp; copie as árvores inteiras de diretório + Tente fazer o diretório de destino remoto antes de copiar.).

Possível?

Minhas tentativas:

rsync -av -e ssh /home/gitrepos/www/board/httpdocs/B/C/delete_snippet.processor.php [email protected]:/var/www/vhosts/testboard.org/httpdocs/B/C/delete_snippet.processor.php

retorna:

rsync: push_dir#3 "/var/www/vhosts/testboard.org/httpdocs/B/C" failed: No such file or directory (2)

rsync -av -e ssh /home/gitrepos/www/board/httpdocs/B/C/delete_snippet.processor.php [email protected]:/var/www/vhosts/testboard.org/httpdocs/

funciona, cria httpdocs, mas sem a estrutura B / C.

rsync -advR -e ssh -v /home/gitrepos/www/board/httpdocs/B/C/delete_snippet.processor.php [email protected]:/var/www/vhosts/testboard.org/httpdocs/

funciona, mas recria toda a estrutura / home / gitrepos ... no servidor.

as permissões são definidas como 777 e de propriedade do usuário.

Obrigado pela ajuda.

    
por thadk 20.10.2010 / 15:31

1 resposta

2

Se você estiver usando o rsync 2.6.7 ou posterior, você pode tentar o método de barra de pontos após o httpdocs para limitar os diretórios. Tente isto:

rsync -advR -e ssh -v /home/gitrepos/www/board/httpdocs/./B/C/delete_snippet.processor.php [email protected]:/var/www/vhosts/testboard.org/httpdocs/
    
por 20.10.2010 / 17:14

Tags