arquivos rsync que estão na subpasta do diretório remoto

0

Eu tenho uma cópia antiga da pasta remota (FD) user@IP:/folder1/folder2/folder3/FD/ que tem subpastas fol1, fol2, ...,

user@IP:/folder1/folder2/folder3/FD/
                                   |__fol1
                                   |__fol2
                                   |__ ... 

que contém muitos arquivos. Minha pasta local tem o mesmo nome e as mesmas subpastas

/localfd1/localfd2/FD/
                     |__fol1
                     |__fol2
                     |__ ...  

Como posso copiar das subpastas remotas apenas os arquivos mais recentes em minhas subpastas locais? scp iria copiar as pastas inteiras, mas eu só quero os novos arquivos.

Mais analiticamente: A cópia antiga da pasta remota que eu tenho, tem a estrutura:

/localfd1/localfd2/FD/
                     |__fol1
                          |_old file1
                          |_old file2
                          |_old file3 
                     |__fol2
                          |_old file4
                          |_old file5

a pasta NEW_REMOTE AGORA tem o formulário:

 user@IP:/folder1/folder2/folder3/FD/
                                    |__fol1
                                         |_old file3 
                                         |_new file_a
                                         |_new file_b  
                                    |__fol2
                                         |_old file5 
                                         |_new file_c 

(alguns arquivos na pasta remota foram excluídos para economizar espaço + novos arquivos são adicionados).

Eu quero copiar das pastas NEW_REMOTE (fol1 e fol2) somente os arquivos NEW em minha pasta local. Então, minha nova pasta local terá o formato:

/localfd1/localfd2/FD/
                     |__fol1
                          |_old file1
                          |_old file2
                          |_old file3 
                          |_new file_a
                          |_new file_b 
                     |__fol2
                          |_old file4
                          |_old file5
                          |_new file_c 
    
por phaethon100 25.04.2016 / 14:00

1 resposta

1

Você pode usar

rsync -avh --update user@IP:/folder1/folder2/folder3/FD/ /localfd1/localfd2/FD/ 
de man rsync :

This forces rsync to skip any files which exist on the destination and have a modified time that is newer than the source file. (If an existing destination file has a modification time equal to the source file’s, it will be updated if the sizes are different.)

    
por 25.04.2016 / 14:12

Tags