이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 borgbackup 명령입니다.
프로그램:
이름
borg - BorgBackup은 선택적 압축 및
인증된 암호화.
Borg는 여러 명령으로 구성됩니다. 각 명령은 여러 인수를 허용하고
옵션. 다음 섹션에서는 각 명령에 대해 자세히 설명합니다.
일반
타입 of 기록 출력
기본 제공 로깅 구성의 로그 수준은 기본적으로 WARNING입니다. 이 때문입니다
우리는 Borg가 대부분 조용하고 경고, 오류 및 중요한 메시지만 출력하기를 원합니다.
로그 수준: DEBUG < INFO < WARNING < ERROR < CRITICAL
-디버그 DEBUG 로그 수준 설정 - 디버그, 정보, 경고, 오류 및 중요 수준 가져오기
출력.
--정보 (또는 -v or --말 수가 많은) INFO 로그 수준 설정 - 정보, 경고, 오류 및
크리티컬 레벨 출력.
--경고 (기본값) WARNING 로그 수준 설정 - 경고, 오류 및 치명적
레벨 출력.
--오류 ERROR 로그 수준을 설정하려면 - 오류 및 위험 수준 출력을 가져옵니다.
--비판적인 CRITICAL 로그 수준 설정 - 중요한 수준 출력을 얻습니다.
기타를 설정할 수 있는 동안. 로그 수준, 모든 명령이 다르게 제공될 것이라고 기대하지 마십시오.
다른 로그 수준의 출력 - 단지 가능성일 뿐입니다.
경고 :
--critical 및 --error 옵션은 완전성을 위해 제공되며 사용법은
중요한 정보를 놓칠 수 있으므로 권장합니다.
경고 :
일부 옵션(예: --통계 or --목록) 더 많은 정보 메시지를 내보낼 것입니다.
로그 출력에 표시하려면 INFO(또는 그 이하) 로그 수준을 사용해야 합니다. 사용 -v 또는
로깅 구성.
반품 코드
Borg는 다음 반환 코드(rc)와 함께 종료할 수 있습니다.
0 = 성공(INFO로 기록됨)
1 = 경고(작동이 정상 종료에 도달했지만 경고가 있었습니다 -
WARNING으로 기록된 로그를 확인해야 합니다.)
2 = 오류(치명적인 오류, 로컬 또는 원격 예외, 작업
정상 종료에 도달하지 않았으며 ERROR로 기록됨)
128+N = 신호 N에 의해 죽임(예: 137 == 죽이기 -9)
당신이 사용하는 경우 --쇼-rc, 반환 코드도 표시된 수준에서 마지막으로 기록됩니다.
로그 항목.
환경 변수
Borg는 자동화를 위해 몇 가지 환경 변수를 사용합니다.
일반 :
BORG_REPO
설정되면 값을 사용하여 기본 리포지토리 위치를 제공합니다. 만약
명령에는 아카이브 매개변수가 필요하며 다음과 같이 축약할 수 있습니다. ::보관소. 만약
명령에 저장소 매개변수가 필요합니다. 그대로 두거나
로 축약하다 ::, 위치 매개변수가 필요한 경우.
BORG_PASSPHRASE
설정된 경우 값을 사용하여 암호화에 대한 암호 질문에 답하십시오.
리포지토리.
BORG_DISPLAY_PASSPHRASE
설정되면 값을 사용하여 "에 대한 암호를 표시합니다.
암호화에 대한 새 암호를 정의할 때 "확인" 질문
리포지토리.
BORG_LOGGING_CONF
설정되면 지정된 파일 이름을 다음과 같이 사용합니다. 이니-스타일 로깅 구성.
보그_RSH
설정되면 대신 이 명령을 사용하십시오. SSH. ssh를 지정하는 데 사용할 수 있습니다.
사용자 지정 ID 파일과 같은 옵션 SSH -i /경로/대상/개인/키. 참조 사람
SSH 다른 옵션을 위해.
TMPDIR 임시 파일이 저장되는 위치(많은 임시 공간이 필요할 수 있음)
일부 작업)
일부 자동적으로 응답자 (만약 세트, 그들 자동적으로 답변 확인 질문):
BORG_UNKNOWN_UNENCRYPTED_REPO_ACCESS_IS_OK=아니요 (또는 =예)
"경고: 이전에 알려지지 않은 암호화되지 않은
저장소"
BORG_RELOCATED_REPO_ACCESS_IS_OK=아니오 (또는 =예)
"경고: ... 위치에 있는 저장소는 이전에 ...에 있었습니다."
BORG_CHECK_I_KNOW_WHAT_I_AM_DOING=아니요 (또는 =예)
"경고: 'check --repair'는 실험적 기능이므로
데이터 손실에."
BORG_DELETE_I_KNOW_WHAT_I_AM_DOING=아니요 (또는 =예)
"리포지토리를 완전히 삭제하도록 요청했습니다. ...을 포함하여 모든
다음을 포함하는 아카이브:"
참고: 답변은 대소문자를 구분합니다. 잘못된 답변 값을 설정하면
재시도 여부에 따라 기본 답변 또는 대화식으로 묻습니다.
허용됨(기본적으로 허용됨). 스크립트를 대화식으로 테스트하십시오.
비대화형 스크립트로 만들기 전에.
디렉토리 :
BORG_KEYS_DIR
기본값은 '~/.config/borg/keys'. 이 디렉토리에는 암호화된 키가 포함되어 있습니다.
리포지토리.
BORG_CACHE_DIR
기본값은 '~/.cache/borg'. 이 디렉토리에는 로컬 캐시와
큰 리포지토리를 처리하려면 많은 공간이 필요할 수 있음).
건물:
BORG_OPENSSL_PREFIX
지정된 OpenSSL 헤더 파일 디렉토리를 기본 위치에 추가합니다.
(setup.py).
BORG_LZ4_PREFIX
지정된 LZ4 헤더 파일 디렉토리를 기본 위치(setup.py)에 추가합니다.
참고 사항 :
· "예"라는 말을 사용할 때 매우 주의하십시오. 프롬프트가 있는 경고는 귀하의 /
데이터의 보안/안전
· 암호를 스크립트에 입력할 때 매우 주의하십시오.
적절한 파일 권한(예: 모드 600, 루트:루트).
자원 용법
Borg는 처리하는 데이터 세트의 크기에 따라 많은 리소스를 사용할 수 있습니다.
와.
CPU : 코드가 현재 단일 스레드이므로 코어 100%를 넘지 않습니다.
특히 더 높은 zlib 및 lzma 압축 수준은 상당한 양의 CPU를 사용합니다.
사이클.
메모리 (램):
청크 인덱스와 파일 인덱스는 성능상의 이유로 메모리로 읽혀집니다.
압축, 특히 높은 수준의 lzma 압축에는 상당한 양이 필요할 수 있습니다.
메모리의.
일시적인 파일 :
FUSE 탑재 저장소에서 데이터 및 메타데이터를 읽으면 약
리포지토리에서 이를 나타내는 데 사용되는 중복 제거된 청크와 동일한 공간입니다.
캐시 파일 :
청크 인덱스 및 파일 인덱스(및
단일 아카이브 청크 인덱스).
청크 인덱스:
리포지토리의 데이터 청크 양에 비례합니다. 저장소에 많은 청크
큰 청크 인덱스를 의미합니다. 청커 매개변수를 조정할 수 있습니다(생성 참조).
옵션).
파일 인덱스:
마지막 백업의 파일 양에 비례합니다. 끌 수 있습니다(참조
생성 옵션), 그렇게 하면 다음 백업이 훨씬 느려집니다.
네트워크 :
리포지토리가 원격인 경우 모든 중복 제거(및 선택적으로 압축/
암호화된) 데이터는 물론 연결(ssh: repo url)을 거쳐야 합니다. 만약 너라면
로컬로 마운트된 네트워크 파일 시스템 사용, 추가로 일부 복사 작업 사용
트랜잭션 지원을 위해 연결을 통해 이동합니다. 여러 소스를 백업하는 경우
하나의 대상 리포지토리에 대해 캐시 재동기화를 위해 추가 트래픽이 발생합니다.
더 자세한 내용에 관심이 있는 경우 내부 문서를 읽어보십시오.
단위
수량을 표시하기 위해 Borg는 일반적인 스케일 규칙을 준수합니다. 디스크
크기는 소수, XNUMX의 거듭제곱을 사용하여(그래서 kB 1000바이트를 의미). 기억을 위해
용법, 진 접두사 사용되며, 를 사용하여 표시됩니다. IEC 진 접두사사용하여,
XNUMX의 거듭제곱(그래서 키비 1024바이트를 의미).
날짜 and Time
ISO-8601을 준수하는 날짜 및 시간 형식, 즉 YYYY-MM-DD 및 HH:MM:SS(24h
시계).
이에 대한 자세한 내용은 다음을 참조하세요. https://xkcd.com/1179/
달리 명시되지 않는 한 현지 날짜와 시간을 표시합니다. 내부적으로 저장 및 처리
UTC로 날짜 및 시간.
보그 INIT
사용법: borg init [-h] [--중요] [--오류] [--경고] [--정보] [--디버그]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--원격 경로 경로] [-e {없음,키파일,repokey}]
[저장소]
빈 저장소 초기화
위치 인수:
REPOSITORY 생성할 저장소
선택적 인수:
-h, --help 이 도움말 메시지를 표시하고 종료
--CRITICAL 로그 수준에서 중요한 작업
--error 로그 수준 ERROR에서 작업
--warning 로그 수준에서 작업 WARNING(기본값)
--정보, -v, --verbose
로그 수준 INFO 작업
--debug 로그 수준 DEBUG 작업
--lock-wait N 잠금을 기다리지만 최대입니다. N초(기본값: 1).
--show-rc 반환 코드 표시/기록(rc)
--no-files-cache는 파일 메타데이터 캐시를 로드/업데이트하지 않습니다.
변경되지 않은 파일 감지
--umask M umask를 M으로 설정(로컬 및 원격, 기본값: 0077)
--remote-path PATH 원격 경로를 실행 파일로 설정(기본값: "borg")
-e {없음, 키 파일, repokey}, --encryption {없음, 키 파일, repokey}
암호화 키 모드 선택(기본값: "repokey")
상품 설명
이 명령은 빈 저장소를 초기화합니다. 리포지토리는 파일 시스템 디렉터리입니다.
XNUMX개 이상의 아카이브에서 중복 제거된 데이터를 포함합니다. 암호화는 다음에서 활성화할 수 있습니다.
저장소 초기화 시간.
예
# 로컬 리포지토리(기본값은 repokey 모드에서 암호화 사용)
$ 보그 초기화 /path/to/repo
# 로컬 저장소(암호화 없음)
$ borg init --encryption=none /path/to/repo
# 원격 저장소(ssh를 통해 원격 borg에 액세스)
$ borg init 사용자@호스트 이름:백업
# 원격 저장소(키를 홈 디렉토리에 저장)
$ borg init --encryption=keyfile user@hostname:backup
암호화에 대한 중요 참고 사항:
암호화를 비활성화하지 않는 것이 좋습니다. 리포지토리 암호화는 예를 들어 사용자를 보호합니다.
공격자가 백업 리포지토리에 액세스할 수 있는 경우에 대비합니다.
그러나 키/암호 문구에 주의하십시오.
"암호 전용" 보안을 원하면 다음을 사용하십시오. 리포키 방법. 키가 저장됩니다
저장소 내부("config" 파일). 위에서 언급한 공격 시나리오에서
공격자는 키를 갖게 됩니다(암호는 아님).
"암호 및 키 보유" 보안을 원하면 다음을 사용하십시오. 키 파일 방법. 열쇠는
홈 디렉토리에 저장됩니다( .config/borg/keys). 공격 시나리오에서는
리포지토리에 액세스할 수 있는 공격자는 키를 가지지 않습니다(또한
암호).
키 파일(키 파일 모드) 또는 repo 구성 파일(리포키 모드) 및
키가 손상되거나 분실될 경우를 대비하여 키를 계속 사용할 수 있도록 안전한 장소에 보관하십시오. 또한
암호를 안전한 장소에 보관하십시오. 해당 키로 암호화된 백업은
물론 도와주세요.
좋은 암호를 사용했는지 확인하십시오. 너무 짧지도, 너무 단순하지도 않습니다. 실제 암호화 /
암호 해독 키는 암호로 암호화/잠금됩니다. 공격자가 당신의
암호를 모르면 잠금을 해제하고 사용할 수 없습니다.
암호 문구에 특수 문자나 비ASCII 문자를 사용할 때 주의하십시오.
· Borg는 암호를 유니코드로 처리하고 utf-8로 인코딩합니다.
가장 이상한 캐릭터를 다루는 문제.
· 그러나: OS/VM/키보드 구성에 반드시 적용되는 것은 아닙니다.
따라서 다음을 포함하는 것보다 단순한 ASCII 문자로 만든 긴 암호를 사용하는 것이 좋습니다.
ASCII가 아닌 항목 또는 다른 키보드에서 입력하기 어렵거나 불가능한 문자
레이아웃.
언제든지 기존 리포지토리의 암호를 변경할 수 있으며 이는 저장소에 영향을 미치지 않습니다.
암호화/복호화 키 또는 기타 비밀.
보그 몹시 떠들어 대다
사용법: borg create [-h] [--중요] [--오류] [--경고] [--정보] [--디버그]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--원격 경로 경로] [-s] [-p] [--목록]
[--필터 STATUSCHARS] [-e 패턴]
[--exclude-from EXCLUDEFILE] [--exclude-캐시]
[--존재하는 경우 제외 파일 이름] [--태그 파일 유지]
[-c SECONDS] [-x] [--숫자-소유자]
[--타임스탬프 yyyy-mm-ddThh:mm:ss]
[--chunker-params CHUNK_MIN_EXP,CHUNK_MAX_EXP,HASH_MASK_BITS,HASH_WINDOW_SIZE]
[--무시-inode] [-C 압축] [--읽기-특수] [-n]
아카이브 경로 [경로 ...]
새 아카이브 만들기
위치 인수:
ARCHIVE 생성할 아카이브의 이름(유효한
디렉토리 이름)
아카이브에 대한 PATH 경로
선택적 인수:
-h, --help 이 도움말 메시지를 표시하고 종료
--CRITICAL 로그 수준에서 중요한 작업
--error 로그 수준 ERROR에서 작업
--warning 로그 수준에서 작업 WARNING(기본값)
--정보, -v, --verbose
로그 수준 INFO 작업
--debug 로그 수준 DEBUG 작업
--lock-wait N 잠금을 기다리지만 최대입니다. N초(기본값: 1).
--show-rc 반환 코드 표시/기록(rc)
--no-files-cache는 파일 메타데이터 캐시를 로드/업데이트하지 않습니다.
변경되지 않은 파일 감지
--umask M umask를 M으로 설정(로컬 및 원격, 기본값: 0077)
--remote-path PATH 원격 경로를 실행 파일로 설정(기본값: "borg")
-s, --stats 생성된 아카이브에 대한 통계를 출력합니다.
-p, --progress 아카이브를 생성하는 동안 진행률 표시 표시,
원본, 압축 및 중복 제거된 크기 표시,
다음에 본 파일 수와 경로
처리 중, 기본값: False
--list 항목의 자세한 목록 출력(파일, 디렉토리, ...)
--filter STATUSCHARS는 주어진 상태 문자가 있는 항목만 표시합니다.
-e 패턴, --패턴 제외
PATTERN과 일치하는 경로 제외
--exclude-EXCLUDEFILE에서 제외
한 줄에 하나씩 EXCLUDEFILE에서 제외 패턴 읽기
--exclude-caches는 CACHEDIR.TAG 파일이 포함된 디렉토리를 제외합니다.
(http://www.brynosaurus.com/cachedir/spec.html)
--있는 경우 제외 FILENAME
지정된 파일을 포함하는 디렉토리 제외
--keep-tag-files 제외된 캐시/디렉토리의 태그 파일 유지
-c SECONDS, --체크포인트-간격 SECONDS
SECONDS초마다 체크포인트 쓰기(기본값: 300)
-x, --하나의 파일 시스템
동일한 파일 시스템에 머물고 마운트 지점을 교차하지 마십시오.
--numeric-owner는 숫자로 된 사용자 및 그룹 식별자만 저장합니다.
--타임스탬프 yyyy-mm-ddThh:mm:ss
아카이브 생성 날짜/시간(UTC)을 수동으로 지정합니다.
또는 참조 파일/디렉토리를 제공하십시오.
--chunker-params CHUNK_MIN_EXP,CHUNK_MAX_EXP,HASH_MASK_BITS,HASH_WINDOW_SIZE
청커 매개변수를 지정합니다. 기본값: 19,23,21,4095
--ignore-inode 파일 메타데이터 캐시에 있는 inode 데이터를 무시합니다.
변경되지 않은 파일을 감지합니다.
-C 압축, --압축 압축
압축 알고리즘(및 수준) 선택: 없음 == 없음
압축(기본값), lz4 == lz4, zlib == zlib
(기본 레벨 6), zlib,0 .. zlib,9 == zlib(와
레벨 0..9), lzma == lzma(기본 레벨 6), lzma,0 ..
lzma,9 == lzma (레벨 0..9).
--read-special 일반 파일인 것처럼 특수 파일을 열고 읽습니다.
파일
-n, --dry-run 백업 아카이브를 생성하지 않음
상품 설명
이 명령은 재귀적으로 발견된 모든 파일을 포함하는 백업 아카이브를 생성합니다.
지정된 모든 경로를 통과합니다. 아카이브는 파일을 위한 디스크 공간을 거의 사용하지 않습니다.
다른 아카이브에 이미 저장된 파일의 일부.
그렇지 않은 sshfs 및 유사한 네트워크 파일 시스템을 통해 백업 풀링 속도를 높이려면
--ignore-inode 플래그를 사용할 수 있는 올바른 inode 정보를 제공합니다. 이것은 잠재적으로
항상 모든 파일을 읽는 것을 피하면서 변경 감지의 신뢰성을 감소시킵니다.
이러한 파일 시스템.
제외 패턴에 대한 자세한 도움말은 "borg help patterns" 명령의 출력을 참조하십시오.
예
# 백업 ~ / 문서 "my-documents"라는 아카이브에
$ borg create /path/to/repo::my-documents ~ / 문서
# 동일하지만 처리할 때 모든 파일을 장황하게 나열합니다.
$ borg create -v --list /path/to/repo::my-documents ~ / 문서
# 백업 ~ / 문서 and ~/src 그러나 pyc 파일은 제외
$ borg create /path/to/repo::my-files \
~ / 문서 \
~/src \
--'*.pyc' 제외
# 이미지 썸네일을 제외한 백업 홈 디렉토리(예:
# /집/*/.thumbnails는 제외됩니다. /집/*/*/.썸네일)
$ borg create /path/to/repo::my-files 홈 / \
--'다시 제외:^/집/[^/]+/\.thumbnails/'
# 쉘 스타일 패턴을 사용하여 동일한 작업 수행
$ borg create /path/to/repo::my-files 홈 / \
--제외 '쉬:/집/*/.썸네일'
# 루트 파일 시스템을 "root-YYYY-MM-DD"라는 아카이브에 백업합니다.
# zlib 압축 사용(좋지만 느림) - 기본값은 압축 없음
$ borg create -C zlib,6 /path/to/repo::root-{now:%Y-%m-%d} / --one-file-system
# 세밀한 중복 제거에 큰 노력을 기울이십시오(큰 청크 관리).
# 오버헤드, 많은 RAM 및 디스크 공간 필요, 내부 공식 참조
# docs - borg < 1.0 또는 attic과 동일한 매개변수):
$ borg create --chunker-params 10,23,16,4095 /path/to/repo::small /smallstuff
# 원시 장치 백업(활성화/사용 중/마운트되지 않아야 함)
$ dd if=/dev/sdx bs=10M | borg create /path/to/repo::my-sdx -
# 압축 없음(기본값)
$ borg create /path/to/repo::arch ~
# 초고속, 저압축
$ borg create --compression lz4 /path/to/repo::arch ~
# 덜 빠르고 더 높은 압축(N = 0..9)
$ borg create --compression zlib,N /path/to/repo::arch ~
# 더 느리고 더 높은 압축(N = 0..9)
$ borg create --compression lzma,N /path/to/repo::arch ~
# 아카이브 이름에 사용할 수 있는 형식 태그:
# {now}, {utcnow}, {fqdn}, {hostname}, {user}, {pid}
# 짧은 호스트 이름, 백업 사용자 이름 및 현재 유닉스타임 추가(에포크로부터 초 단위)
$ borg create /path/to/repo::{hostname}-{user}-{now:%s} ~
보그 추출물
사용법: borg 추출 [-h] [--중요] [--오류] [--경고] [--정보] [--디버그]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--원격 경로 경로] [--목록] [-n] [-e 패턴]
[--EXCLUDEFILE에서 제외---숫자-소유자]
[--strip-컴포넌트 번호] [--stdout] [--sparse]
아카이브 [경로 [경로 ...]]
아카이브 콘텐츠 추출
위치 인수:
추출할 ARCHIVE 아카이브
추출할 PATH 경로; 패턴이 지원됩니다
선택적 인수:
-h, --help 이 도움말 메시지를 표시하고 종료
--CRITICAL 로그 수준에서 중요한 작업
--error 로그 수준 ERROR에서 작업
--warning 로그 수준에서 작업 WARNING(기본값)
--정보, -v, --verbose
로그 수준 INFO 작업
--debug 로그 수준 DEBUG 작업
--lock-wait N 잠금을 기다리지만 최대입니다. N초(기본값: 1).
--show-rc 반환 코드 표시/기록(rc)
--no-files-cache는 파일 메타데이터 캐시를 로드/업데이트하지 않습니다.
변경되지 않은 파일 감지
--umask M umask를 M으로 설정(로컬 및 원격, 기본값: 0077)
--remote-path PATH 원격 경로를 실행 파일로 설정(기본값: "borg")
--list 항목의 자세한 목록 출력(파일, 디렉토리, ...)
-n, --dry-run은 실제로 어떤 파일도 변경하지 않습니다.
-e 패턴, --패턴 제외
PATTERN과 일치하는 경로 제외
--exclude-EXCLUDEFILE에서 제외
한 줄에 하나씩 EXCLUDEFILE에서 제외 패턴 읽기
--numeric-owner는 숫자로 된 사용자 및 그룹 식별자만 따릅니다.
--스트립 구성요소 NUMBER
지정된 수의 선행 경로 요소를 제거합니다.
더 적은 수의 요소가 있는 경로 이름은 자동으로
건너뛰었다.
--stdout 추출된 모든 데이터를 stdout에 씁니다.
--sparse 모두 XNUMX에서 출력 스파스 파일에 구멍을 만듭니다.
덩어리
상품 설명
이 명령은 아카이브의 내용을 추출합니다. 기본적으로 전체 아카이브는
추출되었지만 파일 및 디렉토리의 하위 집합은 다음 목록을 전달하여 선택할 수 있습니다. PATH
인수로. 파일 선택은 다음을 사용하여 추가로 제한할 수 있습니다. --들어오지 못하게 하다 옵션을 선택합니다.
제외 패턴에 대한 자세한 도움말은 "borg help patterns" 명령의 출력을 참조하십시오.
예
# 전체 아카이브 추출
$ borg 추출 /path/to/repo::my-files
# 처리하는 동안 전체 아카이브 및 목록 파일 추출
$ borg extract -v --list /path/to/repo::my-files
# "src" 디렉토리 추출
$ borg 추출 /path/to/repo::my-files home/USERNAME/src
# "src" 디렉토리를 추출하지만 오브젝트 파일은 제외합니다.
$ borg extract /path/to/repo::my-files home/USERNAME/src --exclude '*.o'
# 원시 장치를 복원합니다(당시 활성/사용 중/마운트되지 않아야 함).
$ borg 추출 --stdout /path/to/repo::my-sdx | dd =/dev/sdx bs=10M
참고 : 현재 추출물 항상 쓰기 으로 전에, current 일하는 예배 규칙서 ("."),
그래서 당신을 확인 cd 전화하기 전에 올바른 장소로 보그 추출물.
보그 CHECK
사용법: 보그 검사 [-h] [--중요] [--오류] [--경고] [--정보] [--디버그]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--원격 경로 경로] [--리포지토리 전용] [--아카이브 전용]
[--수리] [--저장 공간] [--마지막 N] [-P PREFIX]
[REPOSITORY_OR_ARCHIVE]
리포지토리 일관성 확인
위치 인수:
REPOSITORY_OR_ARCHIVE
일관성을 확인하기 위한 리포지토리 또는 아카이브
선택적 인수:
-h, --help 이 도움말 메시지를 표시하고 종료
--CRITICAL 로그 수준에서 중요한 작업
--error 로그 수준 ERROR에서 작업
--warning 로그 수준에서 작업 WARNING(기본값)
--정보, -v, --verbose
로그 수준 INFO 작업
--debug 로그 수준 DEBUG 작업
--lock-wait N 잠금을 기다리지만 최대입니다. N초(기본값: 1).
--show-rc 반환 코드 표시/기록(rc)
--no-files-cache는 파일 메타데이터 캐시를 로드/업데이트하지 않습니다.
변경되지 않은 파일 감지
--umask M umask를 M으로 설정(로컬 및 원격, 기본값: 0077)
--remote-path PATH 원격 경로를 실행 파일로 설정(기본값: "borg")
--repository-only 리포지토리 검사만 수행합니다.
--archives-only 아카이브 검사만 수행합니다.
--repair 발견된 불일치를 복구하려고 시도합니다.
--save-space는 느리게 작동하지만 더 적은 공간을 사용합니다.
--last N 마지막 N개의 아카이브만 확인(기본값: 모두)
-P 접두사, --접두사 접두사
이 접두사로 시작하는 아카이브 이름만 고려하십시오.
상품 설명
check 명령은 저장소와 해당 아카이브의 일관성을 확인합니다.
먼저 기본 리포지토리 데이터 파일을 확인합니다.
· 모든 세그먼트에 대해 세그먼트 매직(헤더)이 확인됩니다.
· 세그먼트에 저장된 모든 개체의 경우 모든 메타데이터(예: crc 및 크기) 및 모든 데이터는
읽다. 읽은 데이터는 크기와 CRC로 확인합니다. 비트 썩음 및 기타 유형의 우발적
이 방법으로 손상을 감지할 수 있습니다.
· 복구 모드에 있고 세그먼트에 대한 무결성 오류가 감지되면
세그먼트에서 가능한 한 많은 개체를 복구합니다.
· 복구 모드에서는 인덱스가 데이터베이스에 저장된 데이터와 일치하는지 확인합니다.
세그먼트.
· ssh:를 통해 원격 repo 서버를 사용하는 경우 repo check는 repo 서버에서 실행
상당한 네트워크 트래픽을 유발하지 않고.
· --archives-only 옵션을 사용하여 저장소 확인을 건너뛸 수 있습니다.
둘째, 아카이브 메타데이터의 일관성과 정확성이 검증됩니다.
· repo 매니페스트가 있습니까? 그렇지 않은 경우 아카이브 메타데이터 청크에서 재구축됩니다(이
모든 메타데이터 및 데이터를 읽고 해독해야 함).
· 아카이브 메타데이터 청크가 있는지 확인합니다. 그렇지 않은 경우 매니페스트에서 아카이브를 제거합니다.
· 아카이브의 모든 파일(항목)에 대해 이러한 파일이 참조하는 모든 청크에 대해 다음을 확인합니다.
청크가 존재합니다(없으며 복구 모드에 있는 경우 동일한 크기의 청크로 교체하십시오.
제로). 이를 위해서는 아카이브 및 파일 메타데이터를 읽어야 하지만 데이터는 읽어야 합니다.
· 복구 모드에 있고 모든 아카이브를 확인한 경우 다음에서 고아 청크를 삭제합니다.
레포.
· ssh:를 통해 원격 repo 서버를 사용하는 경우 클라이언트에서 아카이브 확인이 실행됩니다.
(암호화가 활성화된 경우 검사에 암호 해독이 필요하고 이
키 액세스가 필요하므로 항상 클라이언트 측에서 수행됩니다.
· 보관 확인은 시간이 많이 소요될 수 있으므로 다음을 사용하여 건너뛸 수 있습니다.
--저장소 전용 옵션.
보그 이름 바꾸기
사용법: borg rename [-h] [--중요] [--오류] [--경고] [--정보] [--디버그]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--원격 경로 경로]
아카이브 새 이름
기존 아카이브 이름 바꾸기
위치 인수:
이름을 바꿀 ARCHIVE 아카이브
NEWNAME 사용할 새 아카이브 이름
선택적 인수:
-h, --help 이 도움말 메시지를 표시하고 종료
--CRITICAL 로그 수준에서 중요한 작업
--error 로그 수준 ERROR에서 작업
--warning 로그 수준에서 작업 WARNING(기본값)
--정보, -v, --verbose
로그 수준 INFO 작업
--debug 로그 수준 DEBUG 작업
--lock-wait N 잠금을 기다리지만 최대입니다. N초(기본값: 1).
--show-rc 반환 코드 표시/기록(rc)
--no-files-cache는 파일 메타데이터 캐시를 로드/업데이트하지 않습니다.
변경되지 않은 파일 감지
--umask M umask를 M으로 설정(로컬 및 원격, 기본값: 0077)
--remote-path PATH 원격 경로를 실행 파일로 설정(기본값: "borg")
상품 설명
이 명령은 저장소에서 아카이브의 이름을 바꿉니다.
예
$ borg create /path/to/repo::archivename ~
$ 보그 목록 /path/to/repo
archivename 월, 2016-02-15 19:50:19
$ borg rename /경로/to/repo::아카이브 이름 새 이름
$ 보그 목록 /path/to/repo
newname 월, 2016-02-15 19:50:19
보그 LIST
사용법: 보그 목록 [-h] [--중요] [--오류] [--경고] [--정보] [--디버그]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--원격 경로 경로] [--짧은] [--목록 형식 LISTFORMAT]
[-P 접두사]
[REPOSITORY_OR_ARCHIVE]
아카이브 또는 리포지토리 콘텐츠 나열
위치 인수:
REPOSITORY_OR_ARCHIVE
내용을 나열할 저장소/아카이브
선택적 인수:
-h, --help 이 도움말 메시지를 표시하고 종료
--CRITICAL 로그 수준에서 중요한 작업
--error 로그 수준 ERROR에서 작업
--warning 로그 수준에서 작업 WARNING(기본값)
--정보, -v, --verbose
로그 수준 INFO 작업
--debug 로그 수준 DEBUG 작업
--lock-wait N 잠금을 기다리지만 최대입니다. N초(기본값: 1).
--show-rc 반환 코드 표시/기록(rc)
--no-files-cache는 파일 메타데이터 캐시를 로드/업데이트하지 않습니다.
변경되지 않은 파일 감지
--umask M umask를 M으로 설정(로컬 및 원격, 기본값: 0077)
--remote-path PATH 원격 경로를 실행 파일로 설정(기본값: "borg")
--짧은 파일/디렉토리 이름만 인쇄합니다.
--목록 형식 LISTFORMAT
아카이브 파일 목록의 형식 지정(기본값:
"{모드} {사용자:6} {그룹:6} {크기:8d} {isomtime}
{path}{extra}{NEWLINE}") 특별한 "{formatkeys}" 존재
사용 가능한 키를 나열하려면
-P 접두사, --접두사 접두사
이 접두사로 시작하는 아카이브 이름만 고려하십시오.
상품 설명
이 명령은 리포지토리 또는 아카이브의 내용을 나열합니다.
예
$ 보그 목록 /path/to/repo
월요일 월요일 2016-02-15 19:15:11
레포 월, 2016-02-15 19:26:54
root-2016-02-15 Mon, 2016-02-15 19:36:29
newname 월, 2016-02-15 19:50:19
...
$ 보그 목록 /path/to/repo::root-2016-02-15
drwxr-xr-x 루트 root 0 Mon, 2016-02-15 17:44:27 .
drwxrwxr-x 루트 루트 0 월, 2016-02-15 19:04:49 빈
-rwxr-xr-x 루트 root 1029624 2014년 11월 13일 목요일 00:08:51 bin/bash
lrwxrwxrwx 루트 루트 0 금, 2015-03-27 20:24:26 bin/bzcmp -> bzdiff
-rwxr-xr-x 루트 루트 2140 Fri, 2015-03-27 20:24:22 bin/bzdiff
...
$ borg list /path/to/repo::archiveA --list-format="{mode} {user:6} {group:6} {size:8d} {isomtime} {path}{extra}{NEWLINE}"
drwxrwxr-x 사용자 사용자 0 일, 2015-02-01 11:00:00 .
drwxrwxr-x 사용자 사용자 0 Sun, 2015-02-01 11:00:00 코드
drwxrwxr-x 사용자 사용자 0 Sun, 2015-02-01 11:00:00 code/myproject
-rw-rw-r-- 사용자 사용자 1416192 Sun, 2015-02-01 11:00:00 code/myproject/file.ext
...
# 파일 수정 시간, 크기 및 파일 경로를 기반으로 아카이브 간에 변경된 사항 확인
$ 보그 목록 /path/to/repo::archiveA --list-format="{mtime:%s}{TAB}{size}{TAB}{path}{LF}" |sort -n > /tmp/list .archiveA
$ 보그 목록 /path/to/repo::archiveB --list-format="{mtime:%s}{TAB}{size}{TAB}{path}{LF}" |sort -n > /tmp/list .archiveB
$ diff -y /tmp/list.archiveA /tmp/list.archiveB
1422781200년 0일 . 1422781200년 0월 .
1422781200 0 코드 1422781200 0 코드
1422781200 0 코드/myproject 1422781200 0 코드/myproject
1422781200 1416192 코드/myproject/file.ext | 1454664653 1416192 코드/myproject/file.ext
...
보그 삭제
사용법: borg delete [-h] [--중요] [--오류] [--경고] [--정보] [--디버그]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--원격 경로 경로] [-p] [-s] [-c] [--저장 공간]
[표적]
기존 리포지토리 또는 아카이브 삭제
위치 인수:
삭제할 TARGET 아카이브 또는 저장소
선택적 인수:
-h, --help 이 도움말 메시지를 표시하고 종료
--CRITICAL 로그 수준에서 중요한 작업
--error 로그 수준 ERROR에서 작업
--warning 로그 수준에서 작업 WARNING(기본값)
--정보, -v, --verbose
로그 수준 INFO 작업
--debug 로그 수준 DEBUG 작업
--lock-wait N 잠금을 기다리지만 최대입니다. N초(기본값: 1).
--show-rc 반환 코드 표시/기록(rc)
--no-files-cache는 파일 메타데이터 캐시를 로드/업데이트하지 않습니다.
변경되지 않은 파일 감지
--umask M umask를 M으로 설정(로컬 및 원격, 기본값: 0077)
--remote-path PATH 원격 경로를 실행 파일로 설정(기본값: "borg")
-p, --progress 단일 아카이브를 삭제하는 동안 진행률 표시 표시
-s, --stats 삭제된 아카이브에 대한 통계를 출력합니다.
-c, --cache-only 지정된 저장소의 로컬 캐시만 삭제
--save-space는 느리게 작동하지만 더 적은 공간을 사용합니다.
상품 설명
이 명령은 저장소 또는 전체 저장소에서 아카이브를 삭제합니다. 디스크
그에 따라 공간이 회수됩니다. 전체 리포지토리를 삭제하면 다음의 로컬 캐시가
(있는 경우) 또한 삭제됩니다.
예
# 단일 백업 아카이브 삭제:
$ borg 삭제 /path/to/repo::Monday
# 전체 리포지토리와 관련 로컬 캐시를 삭제합니다.
$ borg 삭제 /path/to/repo
포함된 모든 아카이브를 *포함하여* 저장소를 완전히 삭제하도록 요청했습니다.
레포 월, 2016-02-15 19:26:54
root-2016-02-15 Mon, 2016-02-15 19:36:29
newname 월, 2016-02-15 19:50:19
이것을 이해하고 계속하려면 'YES'를 입력하십시오: YES
보그 치다
사용법: borg prune [-h] [--중요] [--오류] [--경고] [--정보] [--디버그]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--원격 경로 경로] [-n] [-s] [--목록]
[--내에서 유지] [-H 매시간] [-d 매일] [-w 매주]
[-m 월간] [-y 연간] [-P 접두사] [--저장-공간]
[저장소]
지정된 규칙에 따라 저장소 아카이브 정리
위치 인수:
제거할 REPOSITORY 저장소
선택적 인수:
-h, --help 이 도움말 메시지를 표시하고 종료
--CRITICAL 로그 수준에서 중요한 작업
--error 로그 수준 ERROR에서 작업
--warning 로그 수준에서 작업 WARNING(기본값)
--정보, -v, --verbose
로그 수준 INFO 작업
--debug 로그 수준 DEBUG 작업
--lock-wait N 잠금을 기다리지만 최대입니다. N초(기본값: 1).
--show-rc 반환 코드 표시/기록(rc)
--no-files-cache는 파일 메타데이터 캐시를 로드/업데이트하지 않습니다.
변경되지 않은 파일 감지
--umask M umask를 M으로 설정(로컬 및 원격, 기본값: 0077)
--remote-path PATH 원격 경로를 실행 파일로 설정(기본값: "borg")
-n, --dry-run 저장소를 변경하지 않음
-s, --stats 삭제된 아카이브에 대한 통계를 출력합니다.
--list 보관/정리하는 아카이브의 자세한 목록을 출력합니다.
--keep-within WITHIN 이 시간 간격 내에 모든 아카이브를 유지합니다.
-H 시간당, --시간당 유지 시간당
보관할 시간당 아카이브 수
-d 매일, --keep-매일 매일
보관할 일일 아카이브 수
-w 매주, --keep-weekly 매주
보관할 주간 아카이브 수
-m 매월, --keep-monthly 매월
보관할 월별 아카이브 수
-y YEARLY, --keep-yearly 매년
보관할 연간 아카이브 수
-P 접두사, --접두사 접두사
이 접두사로 시작하는 아카이브 이름만 고려하십시오.
--save-space는 느리게 작동하지만 더 적은 공간을 사용합니다.
상품 설명
prune 명령은 다음과 일치하지 않는 아카이브를 삭제하여 리포지토리를 정리합니다.
지정된 보존 옵션. 이 명령은 일반적으로 자동화된 백업 스크립트에서 사용됩니다.
특정 수의 기록 백업을 유지하려고 합니다.
예를 들어 "-d 7"은 매일 최신 백업을 유지하는 것을 의미합니다.
백업이 있는 날(백업이 없는 날은 포함되지 않음). 규칙은 매시간부터 적용됩니다.
이전 규칙에 의해 선택된 백업은 이후 규칙에 포함되지 않습니다.
규칙. 각 백업이 완료되는 시간은 가지치기 목적으로 사용됩니다. 날짜 및 시간
현지 시간대로 해석되며 주는 월요일부터 일요일까지입니다. 지정
보관할 아카이브의 음수는 제한이 없음을 의미합니다.
"--keep-within" 옵션은 " ", 여기서 문자는 "H",
"d", "w", "m", "y". 예를 들어 "--keep-within 2d"는 모든 아카이브를 유지한다는 의미입니다.
지난 48시간 이내에 생성되었습니다. "1m"은 "31d"를 의미합니다. 함께 보관된 아카이브
이 옵션은 다른 옵션에서 지정한 합계에 포함되지 않습니다.
접두사가 -P로 설정되면 접두사로 시작하는 아카이브만 고려됩니다.
삭제를 위해 해당 아카이브만 규칙에 지정된 총계에 포함됩니다.
그렇지 않으면, 모든 저장소의 아카이브는 삭제 후보입니다!
예
prune은 잠재적으로 위험한 명령이므로 백업 아카이브를 제거합니다.
prune의 기본값은 다음에 적용하는 것입니다. 모든 기록 보관소 in 전에, 저장소 제한하지 않는 한
다음을 사용하여 아카이브의 하위 집합에 대한 작업 --접두사. 사용할 때 --접두사, 조심하세요
좋은 접두어를 선택하십시오 - 예를 들어 일치하지 않으려면 접두어 "foo"를 사용하지 마십시오.
"푸바".
항상 실행하는 것이 좋습니다. 치다 -건조 ... 먼저 무엇을 볼 수 있습니다
실제로 아무것도하지 않고 할 것입니다.
# 7개의 하루 종료 및 4개의 추가 주말 아카이브를 유지하십시오.
# 실제로 아무것도 삭제하지 않고 테스트 실행을 수행합니다.
$ 보그 프룬 --dry-run --keep-daily=7 --keep-weekly=4 /path/to/repo
# 위와 동일하지만 "foo"로 시작하는 아카이브 이름에만 적용됩니다:
$ 보그 정리 --keep-daily=7 --keep-weekly=4 --prefix=foo /path/to/repo
# 하루의 끝 7개, 추가 주말 아카이브 4개,
# 그리고 매달의 월말 아카이브:
$ 보그 정리 --keep-daily=7 --keep-weekly=4 --keep-monthly=-1 /path/to/repo
# 지난 10일 동안의 모든 백업 유지, 4개의 추가 주말 아카이브,
# 그리고 매달의 월말 아카이브:
$ 보그 정리 --keep-within=10d --keep-weekly=4 --keep-monthly=-1 /path/to/repo
보그 정보
사용법: 보그 정보 [-h] [--중요] [--오류] [--경고] [--정보] [--디버그]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--원격 경로 경로]
ARCHIVE
사용된 디스크 공간과 같은 아카이브 세부 정보 표시
위치 인수:
ARCHIVE 아카이브에 대한 정보 표시
선택적 인수:
-h, --help 이 도움말 메시지를 표시하고 종료
--CRITICAL 로그 수준에서 중요한 작업
--error 로그 수준 ERROR에서 작업
--warning 로그 수준에서 작업 WARNING(기본값)
--정보, -v, --verbose
로그 수준 INFO 작업
--debug 로그 수준 DEBUG 작업
--lock-wait N 잠금을 기다리지만 최대입니다. N초(기본값: 1).
--show-rc 반환 코드 표시/기록(rc)
--no-files-cache는 파일 메타데이터 캐시를 로드/업데이트하지 않습니다.
변경되지 않은 파일 감지
--umask M umask를 M으로 설정(로컬 및 원격, 기본값: 0077)
--remote-path PATH 원격 경로를 실행 파일로 설정(기본값: "borg")
상품 설명
이 명령은 지정된 아카이브에 대한 몇 가지 자세한 정보를 표시합니다.
예
$ borg 정보 /path/to/repo::root-2016-02-15
이름: 루트-2016-02-15
Fingerprint: 57c827621f21b000a8d363c1e163cc55983822b3afff3a96df595077a660be50
호스트 이름: myhostname
사용자 이름 : root
시간(시작): 2016-02-15(월) 19:36:29
시간(종료): 2016-02-15(월) 19:39:26
명령줄: /usr/local/bin/borg create -v --list -C zlib,6 /path/to/repo::root-2016-02-15 / --one-file-system
파일 수: 38100
원본 크기 압축된 크기 중복 제거된 크기
이 아카이브: 1.33GB 613.25MB 571.64MB
모든 아카이브: 1.63GB 853.66MB 584.12MB
고유 청크 총 청크
청크 인덱스: 36858 48844
보그 산
사용법: borg 마운트 [-h] [--중요] [--오류] [--경고] [--정보] [--디버그]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--원격 경로 경로] [-f] [-o 옵션]
REPOSITORY_OR_ARCHIVE 마운트포인트
아카이브 또는 전체 리포지토리를 FUSE 파일 시스템으로 마운트
위치 인수:
REPOSITORY_OR_ARCHIVE
마운트할 저장소/아카이브
MOUNTPOINT 파일 시스템을 마운트할 위치
선택적 인수:
-h, --help 이 도움말 메시지를 표시하고 종료
--CRITICAL 로그 수준에서 중요한 작업
--error 로그 수준 ERROR에서 작업
--warning 로그 수준에서 작업 WARNING(기본값)
--정보, -v, --verbose
로그 수준 INFO 작업
--debug 로그 수준 DEBUG 작업
--lock-wait N 잠금을 기다리지만 최대입니다. N초(기본값: 1).
--show-rc 반환 코드 표시/기록(rc)
--no-files-cache는 파일 메타데이터 캐시를 로드/업데이트하지 않습니다.
변경되지 않은 파일 감지
--umask M umask를 M으로 설정(로컬 및 원격, 기본값: 0077)
--remote-path PATH 원격 경로를 실행 파일로 설정(기본값: "borg")
-f, --foreground 포그라운드에 머물며 데몬화하지 않음
-o 옵션 추가 마운트 옵션
상품 설명
이 명령은 아카이브를 FUSE 파일 시스템으로 마운트합니다. 이것은 탐색에 유용할 수 있습니다.
개별 파일 보관 또는 복원. 그렇지 않으면 --전경 옵션은 명령이 주어진다
파일 시스템이 종료될 때까지 백그라운드에서 실행됩니다. 마운트 해제.
예
$ 보그 마운트 /path/to/repo::root-2016-02-15 /tmp/mymountpoint
$ ls /tmp/mymountpoint
bin 부트 등 home lib lib64 lost+found media mnt opt 루트 sbin srv tmp usr var
$ 퓨저마운트 -u /tmp/mymountpoint
보그 암호 변경
사용법: borg 변경 암호 [-h] [--중요] [--오류] [--경고] [--정보]
[--디버그] [--lock-wait N] [--show-rc]
[--파일 없음-캐시] [--umask M]
[--원격 경로 경로]
[저장소]
리포지토리 키 파일 암호 변경
위치 인수:
저장소
선택적 인수:
-h, --help 이 도움말 메시지를 표시하고 종료
--CRITICAL 로그 수준에서 중요한 작업
--error 로그 수준 ERROR에서 작업
--warning 로그 수준에서 작업 WARNING(기본값)
--정보, -v, --verbose
로그 수준 INFO 작업
--debug 로그 수준 DEBUG 작업
--lock-wait N 잠금을 기다리지만 최대입니다. N초(기본값: 1).
--show-rc 반환 코드 표시/기록(rc)
--no-files-cache는 파일 메타데이터 캐시를 로드/업데이트하지 않습니다.
변경되지 않은 파일 감지
--umask M umask를 M으로 설정(로컬 및 원격, 기본값: 0077)
--remote-path PATH 원격 경로를 실행 파일로 설정(기본값: "borg")
상품 설명
리포지토리 암호화에 사용되는 키 파일은 선택적으로 암호로 보호됩니다. 이것
명령을 사용하여 이 암호를 변경할 수 있습니다.
예
# 키 파일 보호 저장소 생성
$ borg init --encryption=keyfile -v /path/to/repo
"/path/to/repo"에서 저장소 초기화
새 암호 입력:
동일한 암호를 다시 입력하십시오.
암호를 기억하십시오. 데이터가 없으면 데이터에 액세스할 수 없습니다.
"/root/.config/borg/keys/mnt_backup" 키를 생성했습니다.
이 키를 안전하게 보관하십시오. 데이터가 없으면 데이터에 액세스할 수 없습니다.
청크 캐시 동기화 중...
아카이브: 0, 캐시된 Idx 포함: 0, 오래된 Idx 포함: 0, 캐시되지 않은 Idx: 0.
만들기
# 키 파일 암호 변경
$ borg 변경-암호 문구 -v /path/to/repo
키 /root/.config/borg/keys/mnt_backup에 대한 암호를 입력하십시오.
새 암호 입력:
동일한 암호를 다시 입력하십시오.
암호를 기억하십시오. 데이터가 없으면 데이터에 액세스할 수 없습니다.
키 업데이트됨
보그 서브
사용법: borg serve [-h] [--중요] [--오류] [--경고] [--정보] [--디버그]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--원격 경로 경로] [--경로 제한 경로]
서버 모드에서 시작하십시오. 이 명령은 일반적으로 수동으로 사용되지 않습니다.
선택적 인수:
-h, --help 이 도움말 메시지를 표시하고 종료
--CRITICAL 로그 수준에서 중요한 작업
--error 로그 수준 ERROR에서 작업
--warning 로그 수준에서 작업 WARNING(기본값)
--정보, -v, --verbose
로그 수준 INFO 작업
--debug 로그 수준 DEBUG 작업
--lock-wait N 잠금을 기다리지만 최대입니다. N초(기본값: 1).
--show-rc 반환 코드 표시/기록(rc)
--no-files-cache는 파일 메타데이터 캐시를 로드/업데이트하지 않습니다.
변경되지 않은 파일 감지
--umask M umask를 M으로 설정(로컬 및 원격, 기본값: 0077)
--remote-path PATH 원격 경로를 실행 파일로 설정(기본값: "borg")
--경로 제한 PATH
PATH에 대한 리포지토리 액세스 제한
상품 설명
이 명령은 리포지토리 서버 프로세스를 시작합니다. 이 명령은 일반적으로 사용되지 않습니다
수동으로.
예
borg serve는 ssh 강제 명령을 특별히 지원합니다(참조: 승인 _ 키 예
아래): 이러한 강제 명령을 사용하는 것을 감지하고 해당 값을 추출합니다.
--경로 제한 옵션. 그런 다음 다음에서 온 원래 명령을 구문 분석합니다.
클라이언트, 그것이 또한 확인 보그 서브 에 의해 주어진 경로 제한을 시행합니다.
강제 명령. 그렇게 하면 클라이언트가 제공하는 다른 옵션(예: --정보 or - 마스크)
보존됩니다(강제 명령으로 고정되지 않음).
# SSH 키 쌍이 borg만 실행하고 /path/to/repo에만 액세스할 수 있도록 허용합니다.
# 불필요하고 잠재적으로 위험한 SSH 기능을 비활성화하려면 키 옵션을 사용하십시오.
# 이것은 자동화된 원격 백업 시스템을 확보하는 데 도움이 됩니다.
$ 고양이 ~/.ssh/authorized_keys
command="borg serve --restrict-to-path /path/to/repo",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc ssh-rsa AAAAB3[...]
보그 업그레이드
사용법: borg 업그레이드 [-h] [--중요] [--오류] [--경고] [--정보] [--디버그]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--원격 경로 경로] [-p] [-n] [-i]
[저장소]
이전 버전에서 리포지토리 업그레이드
위치 인수:
업그레이드할 저장소의 REPOSITORY 경로
선택적 인수:
-h, --help 이 도움말 메시지를 표시하고 종료
--CRITICAL 로그 수준에서 중요한 작업
--error 로그 수준 ERROR에서 작업
--warning 로그 수준에서 작업 WARNING(기본값)
--정보, -v, --verbose
로그 수준 INFO 작업
--debug 로그 수준 DEBUG 작업
--lock-wait N 잠금을 기다리지만 최대입니다. N초(기본값: 1).
--show-rc 반환 코드 표시/기록(rc)
--no-files-cache는 파일 메타데이터 캐시를 로드/업데이트하지 않습니다.
변경되지 않은 파일 감지
--umask M umask를 M으로 설정(로컬 및 원격, 기본값: 0077)
--remote-path PATH 원격 경로를 실행 파일로 설정(기본값: "borg")
-p, --progress 리포지토리를 업그레이드하는 동안 진행률 표시 표시
-n, --dry-run 저장소를 변경하지 않음
-i, --inplace 리포지토리 재작성, 갈 기회 없음
이전 버전의 저장소로 되돌립니다.
상품 설명
기존 Borg 리포지토리를 업그레이드합니다. 이것은 현재 다락방 변환을 지원합니다.
리포지토리를 Borg로 가져오고 Borg 0.xx를 1.0으로 변환하는 데 도움이 됩니다.
현재 LOCAL 리포지토리만 업그레이드할 수 있습니다(문제 #465).
새로운 Borg 매직과 일치하도록 리포지토리 세그먼트의 매직 문자열을 변경합니다.
문자열. $ATTIC_KEYS_DIR에 있는 키 파일 또는 ~/.다락방/키/ 도 변환됩니다
$BORG_KEYS_DIR에 복사하거나 ~/.config/borg/keys.
캐시 파일은 $ATTIC_CACHE_DIR 또는 ~/.cache/다락방 $BORG_CACHE_DIR로
or ~/.cache/borg하지만 Borg와 Attic 간의 캐시 레이아웃이 변경되었으므로 가능합니다.
변환 후 첫 번째 백업은 캐시 재동기화로 인해 예상보다 오래 걸립니다.
업그레이드는 중단된 경우 재개할 수 있어야 합니다.
세그먼트. 처음부터 시작하려면 다음을 사용하십시오. 보그 삭제 복사된 리포지토리를 통해
캐시 파일도 제거되었는지 확인하십시오.
보그 삭제 보그
않는 한 --인플레이스 가 지정되면 업그레이드 프로세스는 먼저 다음의 백업 복사본을 생성합니다.
리포지토리, REPOSITORY.upgrade-DATETIME, 하드링크 사용. 에서보다 시간이 오래 걸립니다.
업그레이드를 배치하지만 훨씬 더 안전하고 진행 정보를 제공합니다( cp -알).
변환에 만족하면 백업 복사본을 안전하게 파기할 수 있습니다.
경고: 업그레이드를 실행하면 현재 사본을 이전 버전에서 사용할 수 없게 됩니다.
이전 버전으로 돌아갈 방법이 없습니다. 영구적으로 손상될 수 있습니다.
저장소! 다락방은 마법의 문자열이 변경되었기 때문에 BORG 저장소를 읽을 수 없습니다. 너
경고를 받았습니다.
예
# borg 저장소를 최신 버전으로 업그레이드합니다.
$ borg 업그레이드 -v /path/to/repo
/path/to/repo.upgrade-2016-02-15-20:51:55에 하드링크 복사본 만들기
borg로 다락방 저장소 열기 및 변환
리포지토리에 대한 키 파일을 찾을 수 없습니다.
리포지토리 인덱스 /path/to/repo/index.0 변환
1 세그먼트 변환 중...
borg 0.xx를 borg 전류로 변환
리포지토리에 대한 키 파일을 찾을 수 없습니다.
기타 사항 도움
보그 도움 패턴
제외 패턴은 fnmatch, shell, 정규 표현식 및
경로 접두사. 뒤에 콜론(':')이 있으면 패턴의 처음 두 문자가 사용됩니다.
스타일 선택자로. 기본 스타일이 아닌 경우 명시적 스타일 선택이 필요합니다.
원하는 경우 또는 원하는 패턴이 두 개의 영숫자 문자 뒤에
콜론(즉 aa:뭔가/*).
에프앤매치, 선택기 FM:
이러한 패턴은 쉘 패턴 구문의 변형을 사용하며 '*'는 임의의 숫자와 일치합니다.
문자, '?' 단일 문자와 일치하는 '[...]' 단일 문자와 일치
범위 및 '[!...]'는 지정되지 않은 문자와 일치합니다. 을 위해
이러한 패턴의 목적, 경로 구분 기호(Windows의 경우 '' 및 기타 시스템의 경우 '/')
특별히 취급하지 않습니다. 리터럴 일치를 위해 메타 문자를 대괄호로 묶습니다(예:
[?] 리터럴 문자와 일치하도록 ?). 경로가 패턴과 일치하려면 다음을 수행해야 합니다.
처음부터 끝까지 완전히 일치하거나 시작부터 경로 직전까지 일치해야 합니다.
분리 기호. 루트 경로를 제외하고 경로는 경로 구분 기호로 끝나지 않습니다.
일치가 시도됩니다. 따라서 주어진 패턴이 경로 구분 기호로 끝나는 경우 '*'는
일치를 시도하기 전에 추가됩니다.
쉘 스타일 패턴, 선택기 sh :
fnmatch 패턴과 마찬가지로 이들은 쉘 패턴과 유사합니다. 차이점은
패턴에는 다음이 포함될 수 있습니다. ** / XNUMX개 이상의 디렉터리 수준을 일치시키기 위해 * XNUMX을 일치시키기 위해
경로 구분 기호를 제외한 임의의 문자 이상.
정규 표현식, 선택자 다시 :
Perl에 있는 정규 표현식과 유사한 정규 표현식이 지원됩니다. 쉘 패턴과 달리
전체 경로 및 하위 문자열 일치와 일치하는 데 정규 표현식이 필요하지 않습니다.
충분하다. 패턴을 시작('^')에 고정하는 것이 좋습니다.
끝('$') 또는 둘 다. 경로의 경로 구분 기호(Windows의 경우 '' 및 기타 시스템의 경우 '/')
패턴을 적용하기 전에 항상 슬래시('/')로 정규화됩니다. 레귤러
표현식 구문은 Python 선적 서류 비치 for 전에, re 모듈.
접두사 경로, 선택기 PP:
이 패턴 스타일은 전체 하위 디렉토리를 일치시키는 데 유용합니다. 패턴 pp:/데이터/바
성냥 /데이터/바 그리고 그 안의 모든 것.
명령줄 옵션을 통해 제외를 전달할 수 있습니다. --들어오지 못하게 하다. 내에서 사용할 때
확장으로부터 패턴을 보호하기 위해 패턴을 인용해야 합니다.
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 --제외에서 옵션은 하나의 텍스트 파일에서 제외 패턴을 로드하도록 허용합니다.
한 줄에 패턴. 제거 후 비어 있거나 숫자 기호('#')로 시작하는 행
양쪽 끝의 공백은 무시됩니다. 선택적 스타일 선택기 접두사도 지원됩니다.
파일에서 로드된 패턴의 경우. 공백이 있는 공백 제거 경로로 인해
처음 또는 끝은 정규식을 사용해서만 제외할 수 있습니다.
예 :
# '/home/user/file.o'는 제외하고 '/home/user/file.odt'는 제외: $ borg create -e '
*
.o' 백업 /
# '/home/user/junk' 및 '/home/user/subdir/junk'는 제외하되 # 제외
'/home/user/importantjunk' 또는 '/etc/junk': $ borg create -e '/집/
*
/junk' 백업 /
# 디렉토리 자체는 제외하고 '/home/user/cache'의 내용을 제외합니다: $ borg create
-e /home/user/cache/ 백업 /
# '/home/user/cache/important' 파일은 지원 백업: $ borg create -e
/home/user/cache/ 백업 / /home/user/cache/important
# ' 디렉토리의 내용홈 /' 이름이 #로 끝나면 백업되지 않습니다.
'.tmp' $ borg create --exclude 're:^/집/[^/]+.tmp/' 백업 /
# 파일 $ cat >exclude.txt <에서 제외 로드 /집//정크 *. TMP
fm:aa:뭔가/ 다시:^/집/[^/].tmp/ 쉬:/집/
*
/.thumbnails EOF $ borg create --exclude-from exclude.txt 백업 /
DEBUG 명령
더 많은 명령이 있습니다(모두 "debug-"로 시작). 지원 예정된 for
표준 사용 and 잠재적으로 대단히 위험한 잘못 사용된 경우.
예를 들어, 직접적인 시스템 액세스 없이 디버깅 기능을 개선하기 위해 존재합니다.
심각한 오작동을 겪은 적이 있습니다. 무엇을 하고 있는지 알고 있는 경우에만 사용하거나
신뢰할 수 있는 Borg 개발자가 해야 할 일을 알려주는 경우.
추가 노트
여기에 기타가 있습니다. 사용법에서 충분히 자세히 다루지 않은 주제에 대한 참고 사항
안내
항목 플래그
보그 만들 -v --목록 모든 파일, 디렉토리 및 기타 파일의 자세한 목록을 출력합니다.
고려한 시스템 항목(컨텐츠 변경 여부에 관계 없음). 각각
항목의 유형 및/또는 상태를 나타내는 단일 문자 플래그를 접두사로 사용합니다.
해당 출력의 하위 집합에만 관심이 있는 경우 예를 들어 줄 수 있습니다. --필터=AME and
A, M 또는 E 상태의 일반 파일만 표시합니다(아래 참조).
대문자는 "파일"에 상대적인 일반 파일의 상태를 나타냅니다.
캐시(리포지토리와 관련되지 않음 -- 파일 캐시를 사용하지 않는 경우 문제가 됨).
메타데이터는 어떠한 경우에도 저장되며 'A' 및 'M'의 경우에도 새로운 데이터 청크가 저장됩니다. 을 위한
'U' 모든 데이터 청크는 이미 존재하는 청크를 참조합니다.
· 'A' = 일반 파일, 추가됨(FAQ에서 a_status_oddity도 참조)
· 'M' = 일반 파일, 수정됨
· 'U' = 일반 파일, 변경되지 않음
· 'E' = 일반 파일, 액세스/읽는 동안 오류 발생 이 파일
소문자는 일반 파일이 아닌 파일 형식을 의미하며, borg는 보통 그냥
메타데이터를 저장합니다.
· 'd' = 디렉토리
· 'b' = 블록 장치
· 'c' = 문자 장치
· 'h' = 일반 파일, 하드링크(이미 본 inode로)
· 's' = 심볼릭 링크
· 'f' = FIFO
사용되는 다른 플래그는 다음과 같습니다.
· 'i' = 표준 입력(stdin)에서 백업 데이터를 읽었습니다.
· '-' = 테스트 실행, 항목은 지원 백업
· '?' = 누락된 상태 코드(이 코드가 보이면 버그 보고서를 제출하십시오!)
--chunker 매개변수
청커 매개변수는 입력 파일이 조각(청크)으로 잘리는 방식에 영향을 줍니다.
중복 제거를 고려합니다. 또한 리소스 사용(RAM 및 디스크)에 큰 영향을 미칩니다.
공간) 필요한 자원의 양은 (또한) 전체 공간의 양에 의해 결정됩니다.
저장소의 청크(참조 색인 / 캐시 기억 용법 자세한 내용은).
--chunker-params=10,23,16,4095 세분화된 중복 제거가 발생하고
많은 양의 청크를 관리하기 위해 많은 리소스를 사용합니다. 이것은 좋은
상대적으로 작은 데이터 볼륨과 시스템에 충분한 양의 여유 RAM 및 디스크가 있는 경우
공간.
--chunker-params=19,23,21,4095 (기본값)은 대략적인 중복 제거를 초래하고
훨씬 적은 양의 청크를 생성하므로 리소스를 덜 사용합니다. 이것은 좋은
상대적으로 큰 데이터 볼륨과 머신의 여유 RAM 양이 상대적으로 적고
디스크 공간.
이미 저장소에 일부 아카이브를 만들고 청커 매개변수를 변경한 경우,
이는 청크가 다르게 절단되므로 중복 제거에 영향을 미칩니다.
최악의 경우(모든 파일이 크고 백업 사이에 변경됨)
모든 콘텐츠를 저장소에 다시 넣습니다.
일반적으로 그렇게 나쁘지는 않습니다.
· 일반적으로 대부분의 파일은 건드리지 않으므로 이미 가지고 있는 이전 청크를 다시 사용합니다.
레포에서
· (이전 및 새) 최소 청크 크기보다 작은 파일은 하나의 청크만 생성합니다.
어쨌든 결과 청크가 동일하고 중복 제거가 적용됩니다.
이미 청커 매개변수가 있는 기존 리포지토리의 리소스를 저장하기 위해 청커 매개변수를 전환하는 경우
백업 아카이브를 사용하면 시간이 지남에 따라 파일이 점점 더 많아지면 효과가 증가하는 것을 볼 수 있습니다.
더 큰 청크 크기를 사용하여 다시 터치 및 저장되었습니다. and 에 대한 모든 참조
더 작은 오래된 청크가 제거되었습니다(아카이브 삭제/가지치기).
리소스 사용에 대한 즉각적인 큰 효과를 보고 싶다면 새로 시작하는 것이 좋습니다.
청커 매개변수를 변경할 때 저장소.
자세한 내용은 chunker_details를 참조하세요.
--읽기-특수
옵션 --읽기-특수 일반적인 파일 시스템 수준(전체 또는
부분 재귀) 백업. 당신이 무언가를 하고 싶을 때만 이 옵션을 줍니다.
... 특수 -- 그리고 그런 방식으로 처리할 일부 파일을 직접 선택한 경우.
보그 만들 --읽기-특수 특별한 처리 없이 모든 파일을 엽니다.
파일 유형에 따라(여기서 유일한 예외는 디렉토리입니다.
안으로). 하면 어떨지 상상해보세요 방법 파일 이름 --- 거기에 표시되는 콘텐츠
borg가 해당 파일 이름에 대해 백업할 항목입니다.
예를 들어 심볼릭 링크를 따르고 블록 장치 콘텐츠를 읽고 명명된 파이프를 사용합니다.
/ UNIX 도메인 소켓을 읽습니다.
사용할 때 파일 이름으로 제공하는 것에 주의해야 합니다. --읽기-특수, 예를 들어
당신은 줄 /dev/제로, 백업이 종료되지 않습니다.
주어진 파일의 메타데이터는 없이 저장되는 것처럼 저장됩니다. --읽기-특수 (예: 그
이름, 크기[0일 수 있음], 모드 등) -- 하지만 추가로 읽은 내용도
그것을 위해 저장됩니다.
이러한 파일의 콘텐츠 복원은 현재 다음을 통해 한 번에 하나씩만 지원됩니다. --stdout
옵션(그리고 stdout이 어디로 가야 하는지 방향을 재지정해야 합니다.
선택한 기존 장치 파일 또는 간접적으로 dd).
예시
백업하려는 논리 볼륨(LV)의 일부 스냅샷을 만들었다고 가정해 보십시오.
알림:
일부 시나리오의 경우 이것은 "충돌과 같은" 일관성을 얻는 좋은 방법입니다.
재설정 버튼을 누르거나
컴퓨터가 갑자기 완전히 충돌합니다). 이것은 일관성이 없는 것보다 낫습니다.
일부 사용 사례에는 좋은 방법이지만 다음과 같은 경우에는 충분하지 않을 수 있습니다.
실행 중인 데이터베이스.
그런 다음 이러한 모든 스냅샷의 백업 아카이브를 만듭니다. 백업 프로세스는
프로세스가 원래 볼륨에서 작동하는 동안 논리적 볼륨의 "고정" 상태
거기에 저장된 데이터를 계속 변경하십시오.
당신은 또한의 출력을 추가 lvdisplay 경우에 대비하여 LV 크기를 볼 수 있도록 백업에
다시 만들고 복원해야 합니다.
백업이 완료된 후 스냅샷을 다시 제거합니다.
$ # 여기에 스냅샷 생성
$ lvdisplay > lvdisplay.txt
$ borg create --read-special /path/to/repo::arch lvdisplay.txt /dev/vg0/*-snapshot
$ # 여기에서 스냅샷 제거
이제 이러한 백업에서 일부 LV를 복원하는 방법을 살펴보겠습니다.
$ borg 추출 /path/to/repo::arch lvdisplay.txt
$ # 여기에 올바른 크기의 빈 LV를 생성합니다(lvdisplay.txt 참조).
$ # 빈 루트와 홈 LV를 만들고 지금 덮어쓴다고 가정합니다.
$ borg 추출 --stdout /path/to/repo::arch dev/vg0/root-snapshot > /dev/vg0/root
$ borg 추출 --stdout /path/to/repo::arch dev/vg0/home-snapshot > /dev/vg0/home
추가 전용 모드
리포지토리는 "추가 전용"으로 만들 수 있습니다. 즉, Borg는 절대 덮어쓰거나
커밋된 데이터를 삭제합니다. 이는 여러 시스템이 하나의 시스템에 백업하는 시나리오에 유용합니다.
사용하는 중앙 백업 서버 보그 서브, 해킹된 컴퓨터는 백업을 삭제할 수 없기 때문에
영구적으로.
추가 전용 모드를 활성화하려면 저장소를 편집하십시오. 설정 파일 및 줄 추가 추가_전용=1
부터 [저장소] 섹션(또는 라인이 있는 경우 편집).
추가 전용 모드에서 Borg는 업무 파일, 어디에
각 라인은 트랜잭션 및 UTC 타임스탬프입니다.
예시
공격자가 원격으로 모든 백업을 삭제했지만 리포지토리가 추가 전용 상태라고 가정합니다.
방법. 이 상황의 트랜잭션 로그는 다음과 같을 수 있습니다.
트랜잭션 1, UTC 시간 2016-03-31T15:53:27.383532
트랜잭션 5, UTC 시간 2016-03-31T15:53:52.588922
트랜잭션 11, UTC 시간 2016-03-31T15:54:23.887256
트랜잭션 12, UTC 시간 2016-03-31T15:55:54.022540
트랜잭션 13, UTC 시간 2016-03-31T15:55:55.472564
보안 로그에서 공격자가 15:54:00에 액세스 권한을 얻었고 모든
삭제되거나 손상된 백업으로 교체된 백업. 로그에서 당신은 알고
트랜잭션 11 이상은 손상됩니다. 트랜잭션 ID는
지난 거래에서 파일. 예를 들어 트랜잭션 11은 파일 6에서 11로 확장됩니다.
실제 공격에서는 손상된 리포지토리를 그대로 유지하여 분석할 수 있습니다.
공격자가 달성하려고 시도한 것. 만일의 경우를 대비하여 이 사본을 만드는 것도 좋은 생각입니다.
복구 중에 문제가 발생합니다. 일부 파일을 삭제하여 복구가 이루어지므로,
하드 링크 복사(cp -알) 충분하다.
리포지토리를 트랜잭션 5로 재설정하는 첫 번째 단계, 마지막으로 손상되지 않은
트랜잭션을 제거하는 것입니다. 힌트.N and index.N 저장소의 파일(이 두 파일
항상 소모품입니다). 이 예에서 N은 13입니다.
그런 다음 세그먼트 디렉토리에서 모든 세그먼트 파일을 제거하거나 이동합니다. 데이터 / 로 시작
파일 6:
RM 데이터/**/{6..13}
그게 전부입니다.
단점
데이터가 추가되기만 하고 삭제되는 것은 없으므로 다음과 같은 명령 치다 or 삭제 무료하지 않습니다
새 트랜잭션에서 삭제된 것으로 데이터에 태그를 지정할 뿐입니다.
편집을 통해 일반 작업과 추가 전용 작업 사이를 오갈 수 있습니다.
구성 파일은 "편도 여행"이 아닙니다.
추가 고려 사항
추가 전용 모드는 Borg 이외의 도구에서는 적용되지 않습니다. rm 여전히 작동
저장소. 백업 클라이언트 시스템이 다음을 통해서만 리포지토리에 액세스하도록 하십시오.
보그 서브.
리포지토리를 임시로 일반으로 설정한 경우 원격 액세스가 불가능하도록 합니다.
예를 들어 일반 가지치기 모드.
추가 보호를 구현할 수 있지만 Borg 범위를 벗어납니다. 예를 들어, 파일
시스템 스냅샷 또는 래핑 보그 서브 새 데이터에 대한 특수 권한 또는 ACL 설정
파일.
onworks.net 서비스를 사용하여 온라인으로 borgbackup 사용