유닉스에서 find 를 이용하면 다양한 파일의 리스트를 구할 수 있다.
그중에서도 우리의 관심사는 특정 확장자를 가진 파일 리스트를 구하는거고, 그걸 tar 로 묶는다면
원하는 파일만 백업하는 기능을 구현 할 수 있다.
# only java
tar cvf wap.tar *.java
find . -name "*.java" | xargs tar rvf jar.tar
# only jsp
tar cvf web.tar *.jsp
find . -name "*.jsp" | xargs tar rvf jsp.tar
# jsp and class
find . -type f \( -iname "*.jsp" -o -iname "*.class" \)
#
find web/mall -type f \( -iname "*.jsp" -o -iname "*.class" \) | xargs tar cvzf backup/jsp.class.tgz
아래는 다중 확장자기반 백업하는 예제 입니다. 원문보기
UNIX find command to fine multiple extension files
Find multiple extensions with unix 'find' command
practical use, while putting files in svn we may have to find static files and exclude from svn, specially when these static files are scatter in almost all the folders in every corner.
find . -type f \( -iname "*.gif" -o -iname "*.png" -o -iname "*.jpg" -o -iname "*.ppt" -o -iname "*.tar" -o -iname "*.mp3" -o -iname "*.doc" -o -iname "*.zip" \) | xargs tar -zcvf /home/mazmath/features.static.tar.gz