2013-05-29 3 views
0

find 명령 후 파일 목록을 얻었습니다. 이제 기존 아카이브 파일을 제거하고 명령 다음에 파일을 추가해야합니다.타르볼에서 새 파일을 찾아서 추가합니다.

는 찾기/U01/애플 리케이션/(-name '.log0'-o -name '.out0')는 -atime +30

는이 .out와의 목록을 반환합니다. 로그 파일. 이제 tarball에있는 기존 파일을 삭제 (수동으로 생성)하고 새 파일을 추가해야합니다.

어떻게 할 수 있습니까?

Google 검색하지만이 요구 사항에 따라 적절한 결과를 찾을 수 없습니다.

답변

0

find 명령을 두 번 사용 하시겠습니까? 첫 번째 파일을 제거한 다음 다른 파일을 추가 할 것인가? 이 도울 수 은 (어쩌면 당신은 몇 가지 조정을해야한다) : 다음

find /u01/apps/ (-name '.log0' -o -name '.out0') -atime +30 -printf %P\\n | xargs tar -f foobar.tar --delete 

그리고 :

find /u01/apps/ (-name '.log0' -o -name '.out0') -atime +30 -printf %P\\n | xargs tar -f foobar.tar -r 
+0

감사 cesarrse, 사과가, 내가, 그것을 전에 언급해야이 crontab에에 추가 하겠어을, 그래서 printf woulodnot br usefull 그리고 더 이상 내 ksh에 tar에 대한 --delete 옵션이 없다 : ( – coolmego

+0

흠 ... 임시 디렉토리에 모든 파일을 추출하고 이전 버전을 새 버전으로 바꾸고, 우아하고 컴팩트 한 솔루션은 아니지만 작동해야합니다. – cesarse

관련 문제