Como remover completamente o diretório do compartilhamento rsync

0

Existe algum comando rsync que possa remover completamente algum diretório remoto do compartilhamento rsync? Quero dizer excluir não apenas o conteúdo do diretório, mas o próprio diretório. E sem rsyncing todo o diretório pai, pois ele pode ser muito grande.

    
por gkuzmin 16.04.2015 / 10:04

3 respostas

3

Respondendo a minha própria pergunta ... Na verdade, é possível remover completamente o diretório do servidor remoto (incluindo o próprio diretório). Veja o exemplo abaixo:

rsync -r --delete --include 'x/***' --exclude '*' local_empty_directory/ rsync://some_server/some_share/x_parent_directory

A chave é limpar o diretório pai para x ( x_parent_directory no exemplo) usando o diretório vazio local local_empty_directory , excluindo tudo usando --exclude '*' e incluindo apenas o diretório que queremos excluir ( x no exemplo) e seu conteúdo em --include 'x/***' .

    
por 16.04.2015 / 13:15
1

Seguindo o homem do rsync você pode usar --exclude

--exclude=PATTERN

This option is a simplified form of the --filter option that defaults to an exclude rule and does not allow the full rule-pars-ing syntax of normal filter rules.

--exclude-from=FILE

This option is related to the --exclude option, but it specifies a FILE that contains exclude patterns (one per line). Blank lines in the file and lines starting with ';' or '#' are ignored. If FILE is -, the list will be read from standard input.

    
por 16.04.2015 / 10:38
1

Você não pode remover diretórios remotos com o rsync. O melhor que você pode fazer é remover todos os arquivos dentro de um diretório remoto, usando a opção "--remove-source-files". Na página do manual:

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.

Como alternativa, você poderia simplesmente emitir um comando rm via SSH, por exemplo:

ssh root@remote_ip -c "rm -rf /somedir"

    
por 16.04.2015 / 11:27

Tags