2013-06-19 3 views
0

안녕하세요, 저는 crontab을 통해 실행되는 백업 셸 스크립트가 있지만 다소 큰 문제가 있습니다. 이 내 드라이브를 검색하여 특정 라인은 다음과 같습니다 E와 B는 디렉토리 경로 및 T는 현재 날짜를 보유 잡고 변수폴더를 제외하고 찾기 및 mtime 작업 mtime

find $E -mtime -1 -exec cp -r --parents {} $B/$T \;

. 과거에 편집 된 모든 파일을 검사하여 새 디렉토리에 복사합니다. 폴더 구조는 --parents 인수로 인해 그대로 유지됩니다. 내가 가진 문제는 이것이 모든 폴더의 mtime을 확인하는 것인데, 이는 매우 큰 폴더에서 하나의 파일을 변경하는 경우 불필요한 디스크의 양을 차지하면서 백업 중에 전체 폴더가 복사된다는 것을 의미합니다 공간. 방정식에서 폴더 mtime을 제거 할 수있는 방법이 있습니까? --parents 인수가 여전히 영향을 미치면 검색에서 폴더 자체 (내용이 아님)를 제외하는 것이 가능할 수도 있습니다. 내가 추측하고있어

답변

0

당신은 정규 파일이 적용 할 -

find $E -type f -mtime -1 -exec cp -r --parents {} $B/$T \; 

그렇지 않으면
find $E ! -type d -mtime -1 -exec cp -r --parents {} $B/$T \; 

디렉토리에 시대의 평가를 건너 뛰는뿐만 아니라 다른 유형의 파일을 얻을 수 있습니다.

+0

대단한 답변을 보내 주셔서 감사합니다. 다른 유형에는 무엇이 포함됩니까? 그것은 상징적 링크와 같은가요? – Chrayfish

+0

심볼릭 링크, 파이프 등 일반적으로 사람들은 같은 것을 사용하는 것을 피하려고합니다. –

+0

감사합니다. 나는 첫번째 것을 시도 할 것이다! – Chrayfish

관련 문제