와일드 카드를 사용하여 모든 .log 및 .err 파일을 제외한 폴더를 보관하는 솔루션이 필요합니다.

Asr

/app/jboss모든 .log.err 파일 을 제외 하고 모든 파일과 폴더를 보관하고 싶습니다 . 아래의 디렉토리 구조 /app/jboss가 너무 방대하고 복잡합니다.

따라서 아래의 몇 가지 샘플 파일을 제외해야합니다.

/app/jboss/standalone/server4/server1.log 
/app/jboss/standalone/server7/server1.log_bkp
/app/jboss/audir/diag.log
/app/jboss/standalone/server7/server1.err.gz
/app/jboss/standalone/version1.err
.... etc

가능한 경우 내 솔루션이 AiX, Solaris 및 Linux에서 작동하기를 원합니다. 그렇지 않으면 각각에 대한 다른 솔루션입니다.

나에게 가장 좋은 압축 .gz은 내가 선호하는 것입니다.

아래 Johan의 솔루션을 시도했지만 작동하지 않는 것 같습니다.

[root@myhost moht_bkp]# find /app/jboss -not -name "*.log*" | cpio -o | gzip > /app/moht_bkp/test.gz
 1360843 blocks 

[root@myhost moht_bkp]# echo $? 0  

[root@myhost moht_bkp]# ls -ltr 
total 
1097768 -rw-r--r-- 1 root      root      562056007 Jul 20 10:45 test.gz   

[root@myhost moht_bkp]# gunzip test.gz 

[root@myhost moht_bkp]# ls -ltr total 680424 -rw-r--r-- 1 root root 696751616 Jul 20 16:34 test
요한 미레 엔

이를 위해 find, cpio 및 gzip을 조합하여 사용할 수 있습니다. 복사 모드의 Cpio는 표준 입력에서 파일 목록을 가져와 표준 출력에 아카이브를 만듭니다. 압축을 위해 아카이브를 gzip으로 전달할 수 있습니다.

다음 예제는 확장자가 .err 및 .log 인 파일을 제외한 모든 파일을 찾고 파일 목록을 cpio로 전달한 다음 아카이브를 gzip으로 전달합니다. 마지막으로 압축 된 아카이브는 파일로 리디렉션됩니다.

find app/jboss -not -name "*.err" -not -name "*.log" | cpio -o | gzip > /tmp/backup.gz

아카이브에서 파일을 추출하려면 gzip 파일을 표준 출력으로 압축 해제하고 입력 모드에서 cpio로 파이프합니다.

zcat /tmp/backup.gz | cpio -i

Cpio는 다양한 아카이브 형식을 지원하며, 출력이 모든 플랫폼에서 호환되도록하려면 다른 형식 옵션을 조사 할 수 있습니다.

tar 프로그램의 GNU 버전에는 유사한 옵션 -T( --files-from=FILE)이 있습니다. 대시 ( -)를 파일 이름으로 사용하여 표준 입력에서 파일 이름을 읽을 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관