コース一覧
Linuxネットワーク
rsync で効率的に同期

Linuxネットワーク

ネットワーク基礎、SSH、curl、scp、rsync、環境変数を学び、Linux環境の接続・転送・設定を自分で確認できるようにします。

1
ネットワークとSSH接続
0. ネットワークの基礎知識5分
1. ping で接続確認5分
2. curl で HTTP リクエスト5分
3. ネットワーク情報の確認5分
4. リモート接続 SSH5分
5. scp でファイル転送5分
6. rsync で効率的に同期5分
7. ネットワークチェック5分
2
環境変数とシェルのカスタマイズ
0. 環境変数とは5分
1. 環境変数の確認と設定5分
2. シェル設定ファイル5分
3. エイリアスで効率化5分
4. PATH を理解する5分
5. 環境設定チェック5分

Linuxネットワーク

01ネットワークの基礎知識
02ping で接続確認
03curl で HTTP リクエスト
04ネットワーク情報の確認
05リモート接続 SSH
06scp でファイル転送
07rsync で効率的に同期
08ネットワークチェック
09環境変数とは
10環境変数の確認と設定
11シェル設定ファイル
12エイリアスで効率化
13PATH を理解する
14環境設定チェック

Linuxネットワーク

rsync で効率的に同期

1 文字直しただけなのに、また 8 分待たされる

画像を含んだ配信物を丸ごとサーバーへ送ると、数分かかることがあります。困るのは 2 回目です。直したのは HTML の 1 行だけなのに、全部を最初から送り直すので、また同じ時間だけ待たされます。

rsync は、送る前に両側を突き合わせて変わったものだけを送ります。手元の 2 つのディレクトリで試すのがいちばん早いので、動きを見てみます。

ターミナル

mkdir -p /tmp/src /tmp/dst
echo hello > /tmp/src/a.txt
echo world > /tmp/src/b.txt
rsync -av /tmp/src/ /tmp/dst/
# a.txt
# b.txt

ターミナル

echo updated > /tmp/src/a.txt
rsync -av /tmp/src/ /tmp/dst/
# a.txt

2 回目に流れたのは a.txt だけです。触っていない b.txt は転送されていません。-a は権限や更新時刻を保ったまま中身ごと運ぶ指定、-v は何を送ったかを表示する指定で、この 2 つはほぼ常に付けます。

末尾のスラッシュ 1 文字で結果が変わる

rsync でいちばん間違えるのがここです。送り元の末尾にスラッシュを付けるかどうかで、届く形が変わります。

ターミナル

rsync -av src/ dst/   # dst の直下に src の中身が並ぶ
rsync -av src  dst/   # dst の下に src というディレクトリが作られる

やりたいのはたいてい上ですが、うっかり下を実行すると dst/src/ という余計な階層ができます。転送先が空でない場合、これに気づかないまま古い方を参照し続けることになります。

--delete は、向きを間違えると消える

送り元に無いファイルを送り先から消して、完全に同じ状態にするのが --delete です。配信物を入れ替えるときには必要ですが、送り元のパスを 1 文字打ち間違えただけで、送り先の中身がまとめて消えます。

そこで、実行する前に --dry-run を付けて 1 回空打ちします。実際には何も動かさず、これから何を送って何を消すかだけを表示してくれます。

ターミナル

rsync -av --delete --dry-run dist/ prod:/var/www/app/
# deleting old-banner.png
# index.html

deleting の行に、消えては困るものが入っていないかを目で確かめます。問題なければ --dry-run を外して本番実行します。

除外したいものがあるときは --exclude を並べます。ビルド前の作業物を送らずに済みます。

ターミナル

rsync -av --exclude='node_modules' --exclude='*.log' dist/ prod:/var/www/app/
解説

大きなファイルを送る途中で回線が切れても、-P を付けておけば次回は続きから再開できます。あわせて進捗も表示されるので、待ち時間の見当がつきます。

このレッスンに出てくる用語

意味があいまいなまま進んだ語は、ここから読み直せます。

  • サーバークライアント(ブラウザなど)がリクエストを送り、サーバーがレスポンスを返す。
  • HTMLHyperText Markup Languageの略。
  • ディレクトリファイルを整理するフォルダのこと。
  • 階層ネットワークを役割ごとに積み重ねた構造
生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2025/12/21·更新 2026/08/26

関連レッスン

  • ネットワークチェック

    ネットワークの基本コマンドに関する知識をクイズ形式でチェックしましょう。

  • 環境変数とは

    環境変数の意味と使い方を学びます。パスの設定などを理解しましょう。

  • scp でファイル転送

    離れたサーバへ安全にファイルを転送するscpコマンドを、ターミナルで実際に操作して習得します。

  • リモート接続 SSH

    SSHを使って、リモートサーバーに安全に接続する方法をステップごとに解説します。

分からないところは Tap (AI先生) に質問できます

24 時間いつでも、あなたのレベルに合わせて日本語で答えます。