2017-06-20 1 views
-1

J'utilise RSYN pour copier un dossier de la source à desinationInclure fichier spécifique du compte non tenu de dossier

Je suis en mesure d'utiliser ne comprennent pas avec succès

$ rsync -av --exclude='*/deploy/scb_pdm/*' --exclude='*/logs/*' $COPY_SRC_DIR $COPY_DEST_DIR 
server-4.5.0/conf/wrapper.conf 
server-4.5.0/deploy/ 
server-4.5.0/deploy/scb_pdm/ 
server-4.5.0/deploy/scb_pdm/director.properties 
server-4.5.0/deploy/scb_pdm/ocollate_static.madconfig 
server-4.5.0/lib/ 
server-4.5.0/lib/blue-marble-4.5.0.201511121524.jar 

Maintenant, je suis coincé , Comment puis-je exclure seulement

server-4.5.0/deploy/scb_pdm/ocollate_static.madconfig 
+0

Voulez-vous exclure le fichier dans le sous-répertoire, n'est-ce pas? – LethalProgrammer

+0

@ LethalProgrammer: oui – BalaB

+1

Stack Overflow est un site de programmation et de développement. Cette question semble être hors sujet car il ne s'agit pas de programmation ou de développement. Voir [Quels sujets puis-je poser à ce sujet?] (Http://stackoverflow.com/help/on-topic) dans le centre d'aide. Peut-être [Super User] (http://superuser.com/) ou [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) serait un meilleur endroit à demander. – jww

Répondre

0

Je vais commencer par l'utilisation générique de rsync pour exclure le répertoire.

Pour ce faire, vous devez utiliser le drapeau --exclude.

rsync -arv --exclude cache/ your_src_dir/ your_dest_dir/ 

à votre cas, cela exclut le fichier spécifique qui est ocollate_static.madconfig.

rsync -arv --exclude='*/deploy/scb_pdm/ocollate_static.madconfig*' --exclude='*/logs/*' $COPY_SRC_DIR $COPY_DEST_DIR 

Vous pouvez penser à utiliser un autre drapeau qui est

--delete-excluded  also delete excluded files from dest dirs 

Une autre option, à l'exception de plusieurs fichiers et répertoires en même temps.

$ rsync -avz --exclude your_file1.txt --exclude dir3/file4.txt source/ destination/ 

Pour plus d'informations détaillées sur l'utilisation d'exclure dans rsync.

+1

Cela fonctionne. Dans ce cas, si je veux seulement "server-4.5.0/deploy/scb_pdm/director.properties" et non le "ocollate_static.madconfig" – BalaB

+1

j'ai essayé le même "rsync -arv --include = '*/deploy/scb_pdm /director.properties* '--exclude =' */logs/* '$ COPY_SRC_DIR $ COPY_DEST_DIR ". Mais cela a fonctionné :( – BalaB