# ❓ よくある質問（FAQ）

## `rfb` は何をするツールですか？

`rsync`を使ったバックアップ作業を簡単にするためのツールです。
リモートからローカルに同期する作業（`fetch`）と
ローカルからローカル（外部ストレージやクラウドストレージ）に同期する作業（`backup`）の
2ステップで「取得（fetch）」→「保存（backup）」を実行します。

同期するパスを設定ファイルに保存することで、
入力ミスすることなく、安全に`rsync`できます。

---

## 設定ファイルはどこに置けばよいですか？

`rfb`は、以下の順番で設定ファイルを探します。

1. `--config` オプションで明示的に指定
2. カレントディレクトリの `./rfb.toml`
3. `~/.config/rfb/config.toml`
4. `./config/*.toml`（分割読み込み）

---

## `fetch` や `backup` の実行に label は必須ですか？

はい。
設定ファイルにある `[fetch.LABEL]` や `[backup.LABEL]` の `label` を指定して実行します。

```bash
rfb fetch logs
rfb backup logs
```

---

## SSHパスワードはどう入力しますか？

リモートサーバーにアクセス時、SSHパスワードの入力が必要な場合があります。
`.env`ファイルに環境変数`RFB_SSH_PASSWORD`を設定すると自動入力されます。

```env
RFB_SSH_PASSWORD=パスワード
```

> ⚠️ **注意**
> パスワードは平文で保存されます。
> パスワードの取り扱いは各自で注意してください。

---

## `--dry-run` で確認だけできますか？

はい。
`fetch`、`backup`、`sync`のすべてで `--dry-run` モードに対応しています。
`--dry-run`オプションを有効にすれば、実際のコピーや削除を行わずに動作を確認できます。

---

## `sync` で失敗した場合、どこまで実行されていますか？

`rfb sync`では、まず `fetch` を実行し、その後に `backup` が実行されます。
途中で失敗した場合は、`fetch` だけが完了している可能性があります。
出力される`rsync`の実行ログを確認し、どこで失敗しているのか確認してください。

---

## Windowsでも使えますか？

基本的には `macOS` / `Linux` 向けですが、`WSL`（Windows Subsystem for Linux）で動作可能です。
ただし `rsync` や SSH の挙動に差があるため、注意が必要です


---

## 設定ファイルを作る方法は？

`rfb init`コマンドでテンプレートを生成できます。

```js
rfb init
```

---

## もっと複雑な構成で使えますか？

設定ファイルは`./config/` 以下に分割して配置できます。
複数のリモートサーバーを所持している場合などは、
サーバーごとに設定ファイルを用意するとよいかもしれません。

また、`enabled = false` で、特定のラベルだけスキップすることもできます。

## その他の質問がある場合は？

Issue で質問・提案を歓迎しています。お気軽にどうぞ！
