Mostraremos como você pode excluir um arquivo ou diretório no rsync usando exemplos diferentes. Os exemplos apresentados aqui foram testados no Ubuntu 20.04 LTS, no entanto, essas também são válidas para outras distribuições Linux com RSYNC instalado.
Exclua um arquivo específico
Ao sincronizar um diretório, você pode excluir um arquivo específico localizado dentro dele. Você pode fazer isso usando a opção -excluude seguida pelo nome do arquivo incluído em vírgulas.
A sintaxe do comando será:
$ rsync -a --exclude 'file_name' fonte_directory/ destino_directory/Aqui, a a opção é usada para sincronização recursiva.
Por exemplo, para excluir um arquivo chamado amostra.TXT Da fonte ao sincronizar src_dir e dest_dir, O comando seria:
$ rsync -a --exclude 'amostra.txt 'src_dir/ dest_dir/Exclua um diretório específico
Para excluir um diretório específico (incluindo seus subdiretos) da fonte ao sincronizar a fonte e os diretórios de destino, use a seguinte sintaxe:
$ rsync -a --exclude 'diretório_name' src_dir/ dest_dir/Por exemplo, para excluir um diretório nomeado amostral Ao sincronizar o src_dir e dest_dir, O comando seria:
$ rsync -a --exclude 'sampledir' src_dir/ dest_dir/Se você deseja excluir o conteúdo do diretório, mas não o próprio diretório, use o nome do diretório seguido de /*:
$ rsync -a --exclude 'sampledir/*' src_dir/ dest_dir/O comando acima apenas copiará o diretório para o destino, mas não seu conteúdo.
Exclua vários arquivos ou diretórios
Para excluir vários arquivos ou diretórios durante o processo de sincronização, especifique cada um deles da seguinte maneira:
$ rsync -a --exclude 'file_name' --exclude 'diretório1 --exclude' diretório 2 'src_dir/ dest_dir/Em vez de especificar -excluir opção separadamente para cada arquivo ou diretório, você pode usar um único -excluir opção especificando todos os arquivos ou diretórios em colchetes encaracolados.
$ rsync -a --exclude = 'file_name', 'diretório1', 'diretório 2' src_dir/ dest_dir/Outra opção para excluir vários arquivos ou diretórios é listá -los em um arquivo e depois passar o nome do arquivo para o -exclua-se opção:
$ rsync -a --exclude -from 'list' src_dir/ dest_dir/Aqui, a "lista" contém o nome do arquivo e dos diretórios que queremos excluir. Este comando sincroniza src_dir ao dest_dir enquanto exclui os arquivos e diretórios mencionados no arquivo "Lista".
Exclua arquivos ou diretórios que correspondem a um padrão
Com o RSYNC, você também pode excluir arquivos ou diretórios que correspondem a um padrão específico. Por exemplo, ao sincronizar um diretório, você pode excluir todos os arquivos que terminam com um .TXT extensão. O comando, neste caso, seria:
$ rsync -a --exclude '*.txt 'src_dir/ dest_dir/Exclua um arquivo por tamanho
Com o RSYNC, você pode excluir arquivos com base no tamanho mínimo ou máximo. Aqui, não usaremos a opção -Exclude, mas as opções -max -size = ou -min -size == com base no tamanho máximo e mínimo, respectivamente.
Aqui está a listagem do nosso src_dir que mostra nomes de arquivos junto com seus tamanhos em MB.
Digamos que queremos sincronizar todos os arquivos com o dest_dir, exceto aqueles com tamanho maior que 100 MB. Nesse caso, o comando seria:
$ rsync -av -max -size = 100m src_dir/ dest_dir/Da mesma forma, para excluir arquivos menores que um tamanho específico, digamos 50 MB, o comando seria:
$ rsync -av - -min -size = 50m src_dir/ dest_dir/Conclusão
Isso é tudo o que há para isso! Nesta postagem, discutimos exemplos diferentes para excluir um arquivo ou um diretório no RSYNC. Mostramos como excluir um único arquivo ou diretório, vários arquivos e diretórios, arquivos que correspondem a um padrão específico e os arquivos com base em seus tamanhos mínimos/máximos.