サーバーの状態確認をClaude Codeに読み取り専用で任せる方法|OS・ポート・cronの確認コマンド
サーバーの状態確認をClaude Codeに読み取りだけで任せる方法を解説します。変更を禁止してコマンドの一覧を先に出させる頼み方、plan modeの範囲、OS・ポート・サービス・cron・ディスクを確かめるコマンドと、結果のまとめ方を紹介します。
目次
この記事でわかること
- Claude Codeにサーバーを読み取りだけで調べさせる頼み方
- plan modeでできること・できないこと
- OS・ポート・サービス・cron・ディスク・ログを確かめるコマンド
- 結果を表にまとめ、変更の判断に使う方法
本番作業の全体像はClaude CodeでAlmaLinuxサーバーを構築・運用する方法で紹介しています。この記事は、その最初の段階の「変更の前に今の状態を調べる」を手順にしたものです。
変更の前に読み取りだけで調べる理由
同じサーバーでは、ほかのアプリやcronも動いています。今の状態を知らずに変えると、使用中のポートを選んだり、別の処理と時刻を重ねたりします。
読み取りだけの調査なら、何度やり直してもサーバーは変わりません。変更の計画は、調査の結果を見てから立てます。
STEP 1 読み取りだけを守らせる頼み方
依頼の基本は次の流れです。
- 変更を禁止する
- 調べる項目とコマンドの一覧を先に出させる
- コマンドごとに、読み取りだけである理由を書かせる
- 承認するまで実行させない
- 承認したコマンドだけを実行させ、結果を報告して止まらせる
【用途】読み取りだけの調査を頼む /【実行場所】Claude Code /【状態変更】なし(調査のみ)
サーバーの今の状態を、読み取りだけで調べてください。
ファイル・設定・サービス・パッケージ・cron・権限は変更しないでください。
まだコマンドは実行しないでください。
1. 調べる項目(OS・待ち受けポート・サービス・cron・ディスク・
直近のエラーログ)と、使うコマンドを一覧にしてください。
2. コマンドごとに、読み取りだけである理由を1行で書いてください。
3. sudoが要るものは、何を読むためかを書いてください。
一覧を出したら、私の承認を待ってください。
承認した後に一覧にないコマンドが出てきたら、そこで止めます。変更の案が出ても、その場では実行させません。
plan modeでできること・できないこと
plan modeは、変更をせずに調べて計画を出させるモードです。ファイルを読み、調べるためのシェルコマンドも実行しますが、ソースの編集は計画を承認するまで止まります。
シェルコマンドの扱いは設定で変わります。auto modeが使える既定の設定では、分類器が確認したコマンドが実行されます。それ以外では、組み込みの読み取り専用のコマンド以外は承認を求められます。
plan modeが止めるのは主にファイルの編集です。SSHの先のサーバーが変わらないことまでは、plan modeだけでは保証できません。読み取りに限ることは、依頼の文面と、実行の前のコマンドの確認で守ります。
STEP 2 調べる項目と読み取りのコマンド
どれも表示するだけのコマンドです。Claude Codeに実行させる場合も、一覧で同じものかを確かめます。
OSとカーネル
【実行場所】サーバーへSSH接続後 /【状態変更】なし(読み取り)
cat /etc/os-release
uname -r
/etc/os-release にOSの名前とバージョン、uname -r にカーネルのバージョンが出ます。
待ち受けているポート
【実行場所】サーバーへSSH接続後 /【状態変更】なし(読み取り)
ss -tln
-t はTCP、-l は待ち受け中だけ、-n はサービス名に変えず番号で表示します。新しいアプリのポートは、ここに出ていない番号から選びます。
動いているサービス
【実行場所】サーバーへSSH接続後 /【状態変更】なし(読み取り)
systemctl list-units --state=running --type=service --no-pager
systemctl is-active crond
1行目は実行中のサービスの一覧、2行目は指定したサービスが動いているかだけを返します。systemctl status は最近のログも表示するため、ログを読む権限がないとその部分が出ないことがあります。
cronと定期実行
【実行場所】サーバーへSSH接続後 /【状態変更】なし(読み取り)
crontab -l
cat /etc/crontab
ls /etc/cron.d
systemctl list-timers --no-pager
crontab -l は自分のcronの一覧です。サーバー全体の設定は /etc/crontab と /etc/cron.d、systemdのタイマーは list-timers で見ます。
【注意】crontab -l の l を r にすると、自分のcronを削除するコマンドになります。
ディスクの空き
【実行場所】サーバーへSSH接続後 /【状態変更】なし(読み取り)
df -h
直近のエラーログ(必要なときだけ)
【実行場所】サーバーへSSH接続後 /【状態変更】なし(読み取り)
journalctl -p err -S today -n 50 --no-pager
-p err はエラー以上、-S today は今日の分、-n 50 は最新の50件です。システムのログを読めるのは、既定ではrootと、systemd-journal・adm・wheelのグループの利用者です。読めないときも、すぐにsudoを付けず、本当に必要かを先に確かめます。
STEP 3 結果を表にまとめさせる
【用途】結果を表に整理する /【実行場所】Claude Code /【状態変更】なし(調査のみ)
承認したコマンドの結果を、表にまとめてください。
列は「項目」「コマンド」「結果の要約」「気になる点」です。
IPアドレス・ホスト名・ユーザー名・パスワードや鍵などの値は、
表に書かずに「(伏せる)」に置き換えてください。
変更の案があれば表の下に分けて書き、実行はしないでください。
まとめたら報告して止まってください。
まとめた表の例です(架空の値)。
| 項目 | コマンド | 結果の要約 | 気になる点 |
|---|---|---|---|
| ポート | ss -tln | 22・80・443・8080が待ち受け | 8080のアプリを確かめる |
| cron | crontab -l | 毎日深夜に2件 | 時刻が近い |
| ディスク | df -h | ルートの空きが少ない | 容量を使う処理は保留 |
つまずきやすい点: 読み取りのつもりで状態を変える操作
次の操作は、読み取りの調査では行いません。一覧に入っていたら承認せず、理由を聞きます。
- 設定ファイルの編集、
crontab -e(編集)・crontab -r(削除) - サービスの起動・停止・再起動・再読み込み
- パッケージのインストール・削除・更新
- 権限や所有者の変更、firewall・SELinuxの設定、ファイルの削除
- 出力をファイルへ書き出す
>(既存のファイルを上書きする) journalctlの--vacuum-で始まるオプション(古いログを削除する)
調べた結果を変更の判断に使う
- ポート: 待ち受けていない番号から選ぶ
- 時刻: cronを足すときは、既存の行と時刻を重ねない
- 容量: 容量を使う処理は、ディスクの空きを見てから決める
このサイトでは、バックアップのcronを足す前に、今のcronの一覧と保存先の空き容量を読み取りで確かめ、ほかの定期処理と時刻が重ならないことを確認しました。足した後にもう一度一覧を読み、変わったのが意図した1行だけであることも確かめています。
バックアップの取り方と、そのバックアップから戻せることの確かめ方は、サーバーのバックアップと復元確認で紹介しています。
読み取りの結果を使ってApacheの設定を変え、新しいアプリを公開する例は、Apacheのリバースプロキシで複数のアプリを公開する方法で紹介しています。
出力に実環境の値や秘密を出さない
出力には、IPアドレス・ホスト名・ユーザー名・ポートの割り当てなど、そのサーバー固有の値が含まれます。記事やチャット、共有する記録に貼るときは、例示用の値に置き換えます。
パスワード・APIキー・鍵・データベースの接続情報を表示するコマンドは、状態の確認には使いません。sudoのパスワードもコマンドに書きません。
このサイトで実際に行っている確認
このサイトでは、本番の作業を始める前に、サービスが動いていることとアプリの応答を読み取りで確かめています。アプリを止める作業では、止めた後にそのアプリの待ち受けがなくなったことも確かめました。
この記事のコマンドは、このサイトのAlmaLinux 8のサーバーで、読み取りだけで動くことを確かめています。
まとめ
- 変更の前に、読み取りだけで今の状態を調べる
- コマンドの一覧を先に出させ、承認したものだけを実行させる
- plan modeが止めるのは主にファイルの編集で、サーバーが変わらないことまでは保証しない
- 結果は表にまとめ、実環境の値は伏せる
- 状態を変える操作は、調査と分けて計画する
使い始めの手順はClaude Codeの始め方と使い方、AIの出力の確かめ方はAIの出力をどう確認するかで紹介しています。
よくある質問
plan modeにしておけば、サーバーは変わりませんか?
plan modeが止めるのは主にファイルの編集で、調べるためのシェルコマンドは実行されます。SSHでつないだ先のサーバーが変わらないことまでは保証しないため、コマンドの一覧を先に出させ、読み取りだけかを確かめてから実行させます。
sudoが必要な確認はどうしますか?
まずsudoなしで読める範囲で調べます。必要な場合は、何を読むためかを確かめてから使います。パスワードはコマンドに書かず、求められたときに自分で入力します。
出力にパスワードや鍵が含まれていたらどうしますか?
チャットや記録に残さず、そのコマンドは今後の一覧から外します。漏れた可能性がある場合は、その値を変えることを検討します。
どのくらいの頻度で調べればよいですか?
変更の前に毎回調べます。結果を表で残しておくと、前回との違いもすぐ分かります。異常を常に見張る仕組みは、定期的な監視として別に用意します。
Claude Codeをサーバーの上で動かす場合と、手元からSSHでつなぐ場合で違いはありますか?
どちらでも、実行されるのはサーバー上のコマンドです。読み取りに限るかどうかは、依頼の文面と、実行の前のコマンドの確認で守ります。