설정 항목
Frost는 설정 폴더의 config.toml에 설정을 저장합니다. 설정은 frost init, frost config set, frost config edit로 바꾸거나, 아무 텍스트 편집기에서 바꿀 수 있습니다.
#설정 읽기와 바꾸기
| 명령어 | 동작 |
|---|---|
frost config | 모든 설정을 보여 줍니다. --show-secrets를 붙이지 않으면 자격 증명은 가려집니다 |
frost config get <key> | 설정 하나를 보여 줍니다. 목록은 한 줄에 한 항목씩 표시됩니다 |
frost config set <key> <value...> | 설정 하나를 바꾸고, 무엇이 바뀌었는지 보여 줍니다 |
frost config edit [editor] | 편집기에서 config.toml을 엽니다 |
예:
frost config get schedule.every
frost config set schedule.every 6h
frost config set paths ~/Documents ~/Pictures
- 목록은 항목마다 값을 하나씩 받으며,
set은 목록 전체를 대체합니다. true와false로 설정을 켜고 끕니다.schedule설정을 바꾸면 예약 작업에 바로 반영됩니다. macOS와 Windows에서는 예약 백업이 실행 중일 때 바꾼 설정은 그 백업이 끝나는 대로 반영되므로, 백업이 멈추지 않습니다.- 스토리지 위치를 바꾸면 Frost가 저장하기 전에 새 위치를 확인합니다. 자세한 내용은 백업 옮기기를 참고하세요.
#파일 편집하기
frost config edit
Frost는 지정한 편집기에서 config.toml의 사본을 엽니다. 지정하지 않으면 $VISUAL이나 $EDITOR를 쓰고, 그것도 없으면 nano, vim, vi 중 하나를 씁니다. Windows에서는 메모장을 씁니다. 편집기를 닫으면 Frost가 바뀐 내용을 보여 주고, yes를 입력하면 사본을 저장합니다.
파일을 해석할 수 없으면 Frost가 문제가 있는 곳을 알려 주고 다시 열지 묻습니다. 그래서 오타 하나로 예약된 백업이 멈추는 일은 없습니다. 알 수 없는 설정도 오류로 처리하므로, 이름을 잘못 쓴 설정이 그냥 지나가지 않습니다.
#직접 편집하기
config.toml을 아무 텍스트 편집기에서 열고 저장해도 됩니다. Frost는 실행할 때마다 이 파일을 읽으므로, 대부분의 변경은 다음 실행부터 반영됩니다. 두 가지 변경만 한 단계가 더 필요하며, 다음에 Frost 명령어를 무엇이든 실행할 때 Frost가 처리합니다.
- 일정을 바꾸면 예약 작업을 업데이트하고 "config.toml changed. Scheduled job updated"(config.toml이 바뀌어 예약 작업을 업데이트했습니다)라고 표시합니다. Linux에서는 다음 예약 백업도 이 일을 합니다. 예약 백업이 실행 중일 때의 변경은
frost config set과 마찬가지로 그 백업이 끝날 때까지 기다립니다. - 스토리지 위치를 바꾸면, Frost가 처음 사용할 때
frost config edit와 같은 확인을 합니다. 문제가 있으면 경고로 보여 줍니다.
저장하기 전에 파일을 확인하는 것은 없습니다. 파일을 해석할 수 없으면 고칠 때까지 Frost 명령어가 알려 줍니다.
#모든 설정
| 키 | 기본값 | 의미 |
|---|---|---|
paths | 백업할 폴더 | |
exclude | .DS_Store, Thumbs.db, *.tmp, *.swp, node_modules, .cache | 제외할 이름과 패턴. 파일 제외를 참고하세요 |
schedule.enabled | true | 자동으로 백업할지 |
schedule.every | daily | hourly, 2h, 3h, 4h, 6h, 8h, 12h, daily, weekly 중 하나 |
schedule.time | 15:00 | 백업 시각(24시간제). 자세한 내용은 자동 백업을 참고하세요 |
schedule.day | sunday | 매주 백업하는 요일. sunday부터 saturday까지 |
schedule.catch_up | true | 백업을 놓쳤을 때 컴퓨터가 돌아오면 백업합니다. false면 놓친 백업을 건너뜁니다 |
verify.sample | 20 | 표본 검사에서 내려받을 청크 수. 0이면 검사를 끕니다 |
update.auto | true | 예약된 백업 후 새 릴리스를 설치할지. false면 알려 주기만 합니다 |
storage.backend | permafrost, s3, 셀프 호스팅은 sftp, 로컬 드라이브는 local | |
storage.sftp.host | 서버의 SSH 주소. 예: [email protected], 또는 SSH 설정의 Host | |
storage.sftp.port | 0 | 서버의 SSH 포트. 0이면 SSH 설정의 포트를, 없으면 22를 씁니다 |
storage.sftp.path | frost | 서버의 폴더. 상대 경로는 서버의 홈 폴더에서 시작합니다 |
storage.local.path | 드라이브에 있는 폴더의 전체 경로 | |
storage.permafrost.url | 비워 두면 기본 서버인 https://permafrost.wihiaawb.com을 씁니다. 그 밖에는 https:// 주소, 또는 자신의 컴퓨터에서 도는 서버라면 http:// 주소 | |
storage.permafrost.token | Permafrost 액세스 키 | |
storage.s3.endpoint | s3.us-east-1.amazonaws.com 등. 전체 https:// 주소도 쓸 수 있으며, http:// 주소를 쓰면 TLS가 꺼집니다 | |
storage.s3.region | 서버나 제공업체가 리전을 쓰지 않으면 비워 둡니다 | |
storage.s3.bucket | 버킷 이름. 미리 만들어 두어야 합니다 | |
storage.s3.prefix | frost | 백업을 담는 버킷 안의 폴더. 비워 두면 버킷 최상위입니다 |
storage.s3.access_key_id | 액세스 키 ID | |
storage.s3.secret_access_key | 비밀 액세스 키 | |
storage.s3.insecure | false | 엔드포인트에 스킴이 없을 때 암호화하지 않은 HTTP를 씁니다. 로컬 테스트 전용입니다 |
#환경 변수
| 변수 | 대체하는 설정 |
|---|---|
FROST_S3_ACCESS_KEY_ID 또는 AWS_ACCESS_KEY_ID | storage.s3.access_key_id |
FROST_S3_SECRET_ACCESS_KEY 또는 AWS_SECRET_ACCESS_KEY | storage.s3.secret_access_key |
FROST_PERMAFROST_TOKEN | storage.permafrost.token |
FROST_CONFIG_DIR | 설정 폴더. --config-dir와 같습니다 |
FROST_CACHE_DIR | 캐시 폴더 |
Frost는 환경 변수의 값을 config.toml에 쓰지 않습니다. 예약된 백업은 셸에서 설정한 변수를 볼 수 없으므로, config.toml에도 자격 증명이 있어야 합니다.