기존 시스템을 개선하기 위해 관리하는 서버용 백업 시스템을 설정하려고 합니다. 나는 선택하고 있다zpaq이는 이전 시스템에서 좋은 압축을 제공했고 lrzip -z
링크된 페이지에서는 변경된 데이터만 각각의 새 백업 인스턴스에 백업되는 증분 압축을 제공한다고 주장하기 때문입니다.
현재 다음 스크립트를 사용하여 백업을 만들고 있습니다(모든 데이터는 디렉터리에 저장되어 있습니다 server
).
cd server
zpaq pa ../backup.zpaq *
이 스크립트는 서버 디렉터리 바로 아래에 있는 모든 파일을 포함하는 아카이브를 생성하지만 전체 디렉터리 시스템을 반복적으로 검색하지는 않습니다. 전체 디렉터리 시스템을 검색하도록 하려면 어떻게 해야 합니까? 옵션을 제거 하거나 상위 디렉터리에서 디렉터리를 a
백업 해도 문제가 계속 발생합니다.server
그만큼매뉴얼 페이지도구 작성자가 작성한 것 같습니다.
이름이 디렉터리이면 그 안에 있는 모든 파일과 하위 디렉터리가 반복적으로 포함됩니다.
우분투의매뉴얼 페이지재귀에 대해서는 언급하지 않습니다. .NET을 사용하여 Ubuntu 저장소에서 도구를 설치했습니다 apt-get install zpaq
. Ubuntu의 zpaq이 이 질문의 시작 부분에서 연결한 zpaq과 다소 다른 경우 연결된 zpaq에 대한 Ubuntu 패키지를 찾을 수 있는 위치를 설명해주세요.
답변1
zpaq
예상대로 작동하는 솔루션을 원하는 것 같습니다 . 그러나 를 사용하는 경우 bash
이 해결 방법을 사용하면 원하는 결과를 얻을 수 있습니다. 유형 shopt -s globstar
. 그런 다음, 사용하던 명령을 약간만 변경하여 수행합니다.
zpaq pa ../backup.zpaq **
globstar
모드가 적용되면 현재 **
디렉터리의 항목 목록으로 확장됩니다.나무; 즉, 현재 디렉토리와 그 이하. 마찬가지로 *
무시됩니다..
(숨겨진) 파일. 당신도 포함하고 싶다면 포함하세요 shopt -s dotglob
. (이들을 하나의 명령으로 결합할 수 있습니다: shopt -s globstar dotglob
.)
이 작업은 스크립트에서 수행하는 것이 가장 편리합니다. 그러나 기본(대화형) 셸에서 이 작업을 수행하는 경우 설정을 취소할 수 있습니다 shopt
. 로 이 작업을 수행할 수 있습니다 shopt -u globstar dotglob
.
참고: 파일이 너무 많으면 명령줄 길이에 제한이 있기 때문에 실패할 수 있지만 꽤 큽니다.
답변2
Ubuntu 14.04.3에서도 동일한 문제가 발생했습니다. 해결책은 저장소의 패키지를 사용하지 않고 저장소에서 최신 소스를 설치하는 것입니다.http://mattmahoney.net/dc/zpaq.html
패키지를 다운로드한 후에는 .zip 형식이므로 unzip을 사용하여 압축을 풀어야 합니다. 거기에서 다음을 수행하십시오.
make
sudo make install
지금 하고 있는
zpaq a *archive* */dir*
디렉터리와 해당 하위 디렉터리 및 파일이 모두 포함됩니다.