rsync lançando mkdir: não é possível criar o diretório ‘/ data / dir_1 / dir_2 / dir_3 /’: nenhum arquivo ou diretório

3

Eu montei um disco em /data . Isso está vazio no momento.

Eu preciso de rsync para executar mkdir -p do que mkdir como o arquivo que eu preciso estar no nível 4, ou seja, /data/dir_1/dir_2/dir_3/filename quando dir_1 , dir_2 e dir_3 não existe.

Se eu criar os subdiretórios necessários manualmente, poderei executar o rsync usando o seguinte comando:

rsync -avz source_diretory/ /data/dir_1/dir_2/dir_3

Mas se eu não criar os subdiretórios, este comando gerará um erro:

mkdir: cannot create directory ‘/data/dir_1/dir_2/dir_3/’: No such file or directory

Eu tentei usar o Google, lendo a página man do rsync, tentei usar -r -R , mas não consegui fazer funcionar.

O rsync pode executar algo como mkdir -p ou está fora do escopo?

    
por dragosrsupercool 14.12.2014 / 09:48

1 resposta

4
O comando

rsync não cria uma árvore de diretórios, portanto, você pode fazer isso executando:

 mkdir -p /data/dir_1/dir_2/dir_3

antes do comando rsync ou use as opções --rsync-path :

  

- rsync-path = PROGRAM                 Use isto para especificar qual programa deve ser executado no remoto                 máquina para iniciar o rsync.

Seu comando deve ser:

 rsync -avz source_diretory/ --rsync-path="mkdir -p /data/dir_1/dir_2/dir_3 && rsync" /data/dir_1/dir_2/dir_3

Aqui está um link útil .

    
por Lety 14.12.2014 / 12:40