설정 항목

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에도 자격 증명이 있어야 합니다.