今回はファイルをネットワーク経由でコピーします。今回使用するのはrsyncです。
今回もこれまでと同様にデスクトップ上にあるsampleディレクトリに必要なファイルを用意しておきます。前回と同様に転送元のコンピューターと転送先のコンピューターの2台を使います。2台も用意できない、という場合は仮想環境を利用して同じマシンで異なるIPアドレス間でファイル転送を行うこともできます。sampleディレクトリ内の構成は前回と同じです。
○man rsync
とりあえず最初にman rsyncとしてマニュアルでパラメーター等を確認しておきましょう。特にman rsyncとしなくても今はWeb上に日本語訳のマニュアルや解説がありますので、そちらを参考にしても構いません。なお、rsyncのマニュアルは長いので、ここでは最初のページのみ示しておきます。
man rsync
・macOS
・Linux (Ubuntu 24LTS)
○ファイルをコピー
それではファイルを他のマシンにコピーしてみましょう。コピー先は前回と同様Raspberry Piです。rsyncはファイルの同期ができますが、まずは単純コピーです。
まず、カレントディレクトリを~/Desktop/sampleにします。
cd ~/Desktop/sample
カレントディレクトリ内にある1.txtファイルをrsyncコマンドでRaspberry Piの/home/pi/Desktop/sample/にコピー(転送)します。
以下のようにコマンドを入力します。コピー先のRaspberry Piのパスワードを尋ねてくるので入力します。入力後ファイルがコピーされます。
rsync 1.txt pi@192.168.11.52:/home/pi/Desktop/sample/
scpコマンドと違って何もオプションを指定しないと進捗状況などは表示されません。進捗状況などを表示する場合は-vを指定します。
rsync -v 1.txt pi@192.168.11.52:/home/pi/Desktop/sample/
1つのファイルだけでなく拡張子がtxtのファイルをまとめてコピーすることもできます。以下のようにするとカレントディレクトリにある拡張子がtxtのファイルがコピーされます。
rsync -v *.txt pi@192.168.11.52:/home/pi/Desktop/sample/
○ディレクトリごとコピー
次にsampleディレクトリ内にあるファイルとディレクトリをRaspberry Piにコピーします。この場合、以下のように指定します。scp、cpコマンドだとディレクトリのコピー指定はrですが、rsyncではaなので注意してください。
rsync -av . pi@192.168.11.52:/home/pi/Desktop/sample/
以下のように直接パスを指定してコピーすることもできます。
rsync -av /Users/weed/Desktop/sample/ pi@192.168.11.52:/home/pi/Desktop/sample/
ここで注意しないといけないのはコピー元のパスを指定する際に末尾に/を付けるか付けないかで結果が変わります。以下のように/がないとディレクトリ内でなくディレクトリも含めてコピーされます。
rsync -av /Users/weed/Desktop/sample pi@192.168.11.52:/home/pi/Desktop/sample/
/を付ける、付けないでコピーされる内容が変わると言われても、という場合は以下のようにオプションのnを付けるとコピーされるディレクトリ/ファイル内容を確認できます。表示内容はコピーされたことになっていますが、実際にはコピーされていません。
rsync -avn /Users/weed/Desktop/sample pi@192.168.11.52:/home/pi/Desktop/sample/
○ファイルの同期
次にrsyncでファイルの同期を行ってみます。scpでは単純コピーですが、rsyncでは差分のみ、新しいファイルだけコピー、完全同期などの処理を行うことができます。
まず、差分コピーを試してみます。すでにRaspberry Piのデスクトップのsampleディレクトリ内にディレクトリやファイルがある場合はすべて削除しておいてください。
以下のコマンドでRaspberry Piにディレクトリ/ファイルを転送します。
rsync -av /Users/weed/Desktop/sample/ pi@192.168.11.52:/home/pi/Desktop/sample/
ここで、Raspberry Piのデスクトップのsampleディレクトリ何にある1.txtと3.txtファイルを削除します。
ここで以下のコマンドを入力します。これは、これまでと同じですが、差分のみが転送されます。
rsync -av /Users/weed/Desktop/sample/ pi@192.168.11.52:/home/pi/Desktop/sample/
.











![[USBで録画や再生可能]Tinguポータブルテレビ テレビ小型 14.1インチ 高齢者向け 病院使用可能 大画面 大音量 簡単操作 車中泊 車載用バッグ付き 良い画質 HDMI端子搭載 録画機能 YouTube視聴可能 モバイルバッテリーに対応 AC電源・車載電源に対応 スタンド/吊り下げ/車載の3種類設置 リモコン付き 遠距離操作可能 タイムシフト機能付き 底部ボタン 軽量 (14.1インチ)](https://m.media-amazon.com/images/I/51-Yonm5vZL._SL500_.jpg)