スクリプト

よく使うサーバー運用スクリプトをいくつか。1 行コピーして実行できます。実行前にソースを確認することをおすすめします。

タグで絞り込む

23 件中 23 件を表示

システム情報を一覧

一般ユーザーで実行可読み取り専用

ディストリビューション・カーネル・CPU・メモリ・ディスク・NIC・主要サービスの状態をまとめて確認。読み取り専用で、設定は変更しません。

curl -fsSL https://www.moiu.cn/scripts/sysinfo.sh | bash
  • system
  • readonly

Docker をインストール

root が必要

公式スクリプトで Docker と Compose を導入し、中国国内のミラーを設定します。既存環境では再インストール前に確認します。

curl -fsSL https://www.moiu.cn/scripts/docker-install.sh | bash
  • docker
  • install

BBR を有効化

root が必要

輻輳制御を BBR、キュー規則を fq に変更し sysctl.d に書き込んで即時反映します。カーネル 4.9 未満では中断します。

curl -fsSL https://www.moiu.cn/scripts/bbr-enable.sh | bash
  • network
  • tuning

スワップを作成

root が必要

指定サイズのスワップファイルを /swapfile に作成し、fstab に登録して起動時に自動マウント、swappiness を 10 に下げます。

curl -fsSL https://www.moiu.cn/scripts/swap-setup.sh | bash
  • memory
  • tuning

SSH を強化

root が必要

root ログインとパスワード認証を無効化し、再試行回数と認証猶予を絞ります。鍵が無ければ実行を拒否し、sshd -t が通らなければ元に戻します。

curl -fsSL https://www.moiu.cn/scripts/ssh-harden.sh | bash
  • security
  • ssh

ディレクトリをアーカイブ

一般ユーザーで実行可

ディレクトリをタイムスタンプ付きの tar.gz にまとめます。node_modules・.git・キャッシュ・dist は自動除外。root は不要です。

curl -fsSL https://www.moiu.cn/scripts/dir-backup.sh | bash
  • backup
  • ops

Komari をインストール

root が必要

南京大学ミラーで Komari を導入し、データは /opt/komari/data に永続化します。事前に Docker が必要です。

curl -fsSL https://www.moiu.cn/scripts/komari-install.sh | bash
  • monitor
  • docker

Nezha Agent をアンインストール

root が必要

サービスの停止・systemd ユニットの削除・ディレクトリと残存プロセスの掃除を行い、最後に自己検証します。ランダム接尾辞付きの名前にも対応。

curl -fsSL https://www.moiu.cn/scripts/nezha-uninstall.sh | bash
  • ops
  • cleanup

システム更新

root が必要

パッケージ源を更新し、導入済みパッケージをアップグレード、不要な依存を削除します。再起動が必要な場合は知らせるだけで、勝手に再起動しません。

curl -fsSL https://www.moiu.cn/scripts/system-update.sh | bash
  • update
  • system

タイムゾーンを設定

root が必要

既定は Asia/Shanghai で、自動時刻同期も有効にします。UTC などゾーン名を渡せば変更できます。

curl -fsSL https://www.moiu.cn/scripts/timezone-set.sh | bash
  • system
  • time

ファイアウォールを設定

root が必要

受信は既定で拒否、送信は許可し、SSH と 80/443 だけ開けます。有効化の前に SSH を許可するので、締め出されません。

curl -fsSL https://www.moiu.cn/scripts/ufw-firewall.sh | bash
  • security
  • network

Nginx をインストール

root が必要

導入後に起動し、自動起動も設定します。既に入っている場合は設定に触れず終了します。

curl -fsSL https://www.moiu.cn/scripts/nginx-install.sh | bash
  • web
  • install

HTTPS 証明書を取得

root が必要

certbot の nginx プラグインで設定を書き換え、自動更新タイマーを用意し、http から https へ転送します。ドメインは事前にこのサーバーへ向けておく必要があります。

curl -fsSL https://www.moiu.cn/scripts/certbot-ssl.sh | bash
  • web
  • tls

ディスクを整理

root が必要

apt キャッシュ・不要な依存・journal ログ・古い /tmp ファイル・Docker の未使用イメージを整理します。/home と業務ディレクトリには触れません。

curl -fsSL https://www.moiu.cn/scripts/disk-cleanup.sh | bash
  • ops
  • disk

ポート使用状況を確認

一般ユーザーで実行可読み取り専用

待ち受けているポートとプロセスを一覧します。ポート番号を渡せばそれだけを表示。読み取り専用で root は不要です。

curl -fsSL https://www.moiu.cn/scripts/port-usage.sh | bash
  • network
  • readonly

Node.js をインストール

root が必要

公式の NodeSource リポジトリから指定のメジャーバージョン(既定は 22 LTS)を導入します。既存環境では上書き前に確認します。

curl -fsSL https://www.moiu.cn/scripts/nodejs-install.sh | bash
  • runtime
  • install

fail2ban をインストール

root が必要

sshd 用の jail を設定し、10 分間に 5 回失敗したアドレスを 1 時間遮断します。ファイアウォールのスクリプトと併用すると効果的です。

curl -fsSL https://www.moiu.cn/scripts/fail2ban-install.sh | bash
  • security
  • install

鍵ログインを設定

root が必要

指定ユーザーの authorized_keys に公開鍵を追記し、パーミッションも整えます。鍵は引数で渡し、標準入力からは読みません。

curl -fsSL https://www.moiu.cn/scripts/ssh-key-setup.sh | bash
  • security
  • ssh

sudo ユーザーを追加

root が必要

sudo 権限を持つユーザーを作成し、任意で公開鍵も登録します。管理グループが sudo か wheel かを自動判別します。

curl -fsSL https://www.moiu.cn/scripts/user-add.sh | bash
  • security
  • ops

ファイル記述子の上限を引き上げ

root が必要

nofile を 65535 に引き上げ、file-max と接続バックログも広げます。高負荷なサービスはこの三か所で詰まりがちです。

curl -fsSL https://www.moiu.cn/scripts/limits-tune.sh | bash
  • tuning
  • system

証明書の期限を確認

一般ユーザーで実行可読み取り専用

よくある証明書ディレクトリを走査し、ドメインを渡せば実際の証明書も確認して残り日数を表示します。読み取り専用。

curl -fsSL https://www.moiu.cn/scripts/cert-check.sh | bash
  • tls
  • readonly

DNS と疎通を確認

一般ユーザーで実行可読み取り専用

利用中のリゾルバ、ドメインの名前解決、公共 DNS への疎通、出口 IP を確認します。読み取り専用。

curl -fsSL https://www.moiu.cn/scripts/dns-check.sh | bash
  • network
  • readonly

定期実行を一覧

root が必要読み取り専用

全ユーザーの crontab、/etc/cron.d、systemd timer を一覧します。深夜に何が動いているかの調査に。読み取り専用ですが root が必要です。

curl -fsSL https://www.moiu.cn/scripts/crontab-list.sh | bash
  • ops
  • readonly