como mover (não copiar) arquivos de um servidor para outro?

2

Eu quero mover os arquivos de server1 para server2 .

Um produtor em server1 continuará gerando os arquivos, e um consumidor em server2 continuará processando-os.

Eu posso copiar arquivos usando o seguinte script de shell:

rsync path/*.txt server2:/path

A extensão dos arquivos no destino ( server2 ) será alterada de .txt para .done uma vez processados, portanto, se eu executar o comando novamente, os arquivos serão novamente copiados ( e processado) para o destino.

Por isso, quero excluir (ou renomear ou mover) os arquivos originais para que eles não sejam transferidos novamente.

Estou usando rsync versão 2.6.3, que não possui a opção --remove-source-files.

Sou novo no shell de scripts, então, por favor, dê um exemplo.

    
por atripathi 14.01.2013 / 11:00

2 respostas

2

use rsync --remove-source-files opção

de man rsync

--remove-source-files
This  tells  rsync  to  remove  from  the sending side the files
(meaning non-directories) that are a part of  the  transfer  and
have been successfully duplicated on the receiving side.

Você sempre pode realizar uma execução de avaliação sem fazer alterações usando a opção --dry-run e, se desejar, executar o comando final sem --dry-run option

por exemplo: rsync --remove-source-files -options /path/to/src/ computerB:/path/to/dest e também dê uma olhada em este

    
por 14.01.2013 / 11:08
1

De acordo com a man -page, você deve poder usar --remove-source-files para rsync

--remove-source-files

This tells rsync to remove from the sending side the files (meaning non-directories) that are a part of the transfer and have been successfully duplicated on the receiving side.

    
por 14.01.2013 / 11:07