Eu não sei de um único comando, mas o hack que eu criei é o seguinte.
-
Use
rsync
para copiar odirOrig
deserver1
paraserver2
rsync -zarv --prune-empty-dirs --include "*/" \ --include="file1.txt" --exclude="*" "server1:dirOrig" \ "server2:dirOrig"
-
Exclua os subdiretórios do
dirOrig
copiado que não estão presentes emdirDest
usandocomm
comm -23 <( cd server2:dirOrig && find -mindepth 1 -type d | sort ) \ <( cd server2:dirDest && find -mindepth 1 -type d | sort ) \ | ( cd server2:dirOrig && xargs rm -rf )
-
Por fim, rsync o
dirDest
comdirOrig
com base na soma de verificação e exclua todos os arquivos no dirOrig não presentes no dirDest, excetofile1.txt
rsync -acv --exclude=file1.txt --delete \ server2:dirDest server2:dirOrig