設定項目

Frost は、設定フォルダにある config.toml に設定を保存します。設定は frost init、frost config set、frost config edit のほか、任意のテキストエディタでも変更できます。

#設定を読む・変える

コマンド 動作
frost config すべての設定を表示します。--show-secrets を付けない限り、認証情報は伏せられます
frost config get <key> 1 つの設定を表示します。リストは 1 行に 1 項目ずつ表示されます
frost config set <key> <value...> 1 つの設定を変更し、何が変わったかを表示します
frost config edit [editor] config.toml をエディタで開きます

例:

frost config get schedule.every
frost config set schedule.every 6h
frost config set paths ~/Documents ~/Pictures
  • リストは 1 項目につき 1 つの値を受け取り、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 は実行するたびにこのファイルを読むので、ほとんどの変更は次の実行から反映されます。2 種類の変更だけはもう 1 手順必要で、次に 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 にも必要です。