2017-02-19 1 views
0

많은 기사를 봤는데 알아낼 수없는 것처럼 보입니다. 나는 멍청이 일 것이라고 생각합니다. 어쨌든tar와 함께 사용하기 위해 디렉토리와 현재 디렉토리의 파일을 정리하기

나는 내가 타르하고 싶은 디렉토리, 그러나 나는 얕은 디렉토리의 파일을 제외뿐만 아니라 폴더를 "플러그인", "백업"과에있는 "로그"를 제외 할이 얕은 디렉토리.

->

\#!/bin/bash 
mkdir -p /path/to/backup/directory/`date +%d%m%y` 
cd /path/to/backup/directory/`date +%d%m%y` 
cd .. | find . -not \\(-path plugins -prune -o -path backups -prune -o -path logs -prune \\) -mindepth 1 -print0 | xargs -0 tar cpj --directory=$(cd -) -f `date +%H`.tar.gz 

찾기 섹션은 잘못된 것입니다, 그것은 아무 것도 배제하지 않는다. 이것은 제 30 회 (사실 xD가 아닌 실제로는 xD가 아닌) 시도입니다. 각 시도는 마지막보다 더 우스꽝스럽게 보입니다. 사람이 바로 나에게 찾기 섹션에 대한 해결책을 보여줄 수 있다면

, 그 위대한 것 - 감사

내가 넣어하려고 할 때

((가) '`'문자가 날짜 주위에, 그냥 코드보기를 나누기 그들을 발견 제외 디렉토리에 대해

+0

왜 tar의 --exclude = PATTERN 옵션을 사용하지 않으시겠습니까? – mfnalex

+0

'cd'는'find'에 의미있는 출력을 내지 못합니다. 그리고 변경은 어쨌든 파이프 라인의 해당 구성 요소에 대해 시작된 프로세스에 국한됩니다. – chepner

+0

'mfnalex'와 동의어로'tar'는 파일을 include/exclude하는 유연한 방법을 가지고 있습니다.'man tar'을 시도해보십시오. 파일을 사용하여 포함/제외 명세를 나열 할 수 있으며 일반 파일 작업을 피하기 위해 프로세스 대체 ('<(command_or_function)')로 필요할 때 파일을 빌드 할 수 있습니다. – Fred

답변

0

사용 --exclude = PATTERN 및 */, 그것은 단지 디렉토리 잡을 것 같이

tar --exclude=plugins/ --exclude=logs/ --exclude=backups/ -cf /path/to/backup/directory/`date +%d%m%y`/whatever.tar [other options] */ 
+0

감사합니다. 그것은 폴더를 제외하지만 idk 얕은 디렉토리에서만 파일을 제외하는 방법 – annon

+0

디렉토리에있을 때 ls의 출력을 표시하고 정확하게 제외해야 할 파일을 알 수 있습니까? – mfnalex

+0

https://gyazo.com/7aafd163d105d6cf68b864a43fef513d 플러그인과 로그를 제외하고 폴더 만 백업하려고합니다.이 경우 결과는 msffamap + temp + world + world_nether + world_the_end의 타르이어야합니다. – annon

0

) 거기에, 시도

find . -type d \(-path plugins -o -path backups -o -path logs \) -prune -o -print 
+0

방금 ​​시도했지만 불행히도 아무것도 제외되지 않았습니다. (감사하지만 – annon

관련 문제