rsync+sshでマシン間ファイルコピーする
Raspberry Pi 3B+から4Bへコピーする。
モチベ
ラズパイ3B+のデータを4Bにコピーしたい。
rsync
+ssh
ローカルからリモートへファイルを送るには以下のようにrsync
コマンドを使う。
rsync -auvzP -e <ローカルのファイルパス> <リモートのファイルパス>
リモートのファイルパスは以下のような書式で示す。
<ユーザー名>@<サーバーのホスト名 or IPアドレス>:<パス>
合わせると以下。
rsync -auvzP -e <ローカルのファイルパス> <ユーザー名>@<サーバーのホスト名 or IPアドレス>:<パス>
具体的には以下。$HOME
はローカル・リモード両方とも/home/pi
。ローカルはPi3B+、リモートはPi4B。
rsync -auvzP -e ssh $HOME/root/in pi@192.168.11.10:$HOME/root rsync -auvzP -e ssh $HOME/root/sys pi@192.168.11.10:$HOME/root rsync -auvzP -e ssh $HOME/root/work pi@192.168.11.10:$HOME/root
これでリモートの$HOME/root
配下にin/
,sys/
,work/
ディレクトリとその配下がすべてコピーされた。
ドットファイル等
rsync -auvzP -e ssh $HOME/.sqliterc pi@192.168.11.10:$HOME rsync -auvzP -e ssh $HOME/.vimrc pi@192.168.11.10:$HOME rsync -auvzP -e ssh $HOME/.vim pi@192.168.11.10:$HOME rsync -auvzP -e ssh $HOME/.fonts pi@192.168.11.10:$HOME
.config
rsync -auvzP -e ssh $HOME/.config/ranger pi@192.168.11.10:$HOME/.config
openbox
はバージョン違いによって仕様変更があるかもしれない。上書きして壊れたら嫌なので適当なパスへコピーする。
rsync -auvzP -e ssh $HOME/.config/openbox pi@192.168.11.10:/tmp/work
rsync
短 | 長 | 説明 |
---|---|---|
-a |
--arcive |
-rlptgoD -no-H -no-A -no-X 相当 |
-v |
--verbose |
動作内容を表示する |
-u |
--update |
同期先ファイルの方が新しい場合はスキップする |
-z |
--compress |
転送中のデータを圧縮する |
-P |
--partial --progress 相当 |
|
-e |
sshコマンドを指定する |
-a
で無効化するオプション。
短 | 長 | 説明 |
---|---|---|
-no-? |
指定オプションを無効化する(-no-H で-H を無効化) |
|
-H |
--hard-links |
ハードリンクを保持する |
-A |
--acls |
ACL(アクセス制御リスト)を保持する(「-p」も同時に指定した扱いになる) |
-X |
--xattrs |
拡張属性を保持する |
-a
で有効化するオプション。
短 | 長 | 説明 |
---|---|---|
-r |
--recursive |
ディレクトリを再帰的に処理する |
-l |
--links |
シンボリックリンクをシンボリックリンクのままコピーする |
-p |
--perms |
パーミッションを保持する |
-t |
--times |
タイムスタンプを保持する |
-g |
--group |
所有グループをそのまま保持する |
-o |
--owner |
所有者をそのまま保持する(自分以外の所有者を保持するにはroot権限が必要) |
-D |
デバイスファイルや特殊ファイルを保持する。--devices --specials 相当 |
|
--devices |
デバイスファイルを保持する(root権限が必要) | |
--specials |
特殊ファイルを保持する |
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 9.0 2018-11-13
- bash 4.4.12(1)-release
$ uname -a Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux
前回まで
ハード。
- Raspberry Pi 4B (4GB) を2個予約した(KSY先行予約販売)
- Raspberry Pi 4B 届いた! 開封の儀
- Raspberry Pi 4B ヒートシンク取付
- Raspberry Pi 4B ケース装着
- HDMIまちがえて買ってた……(type A, C, D の罠)
ソフト。
- RPI4B Raspbian Buster USB boot 未対応……
- Raspbian Buster 2019-09-26 インストール
- Raspbian Buster 2019-09-26 ダウンロード
- Raspbian Buster 2019-09-26 HDMI設定について調べた
- Raspbian Buster 2019-09-26 インストール前の設定(Wi-Fi)
設定。
- Raspbian Buster ヘッドレス 初期設定 できないか調べた
- Raspberry Pi 4B でSSHログインできた
- Raspberry Pi 4B 初期設定(ヘッドレス)
- Raspberry Pi 4B SDブート+USBルート(≒USB boot)に成功
- VNCからRaspbian Busterへログインする方法を調べる
- VNCからRPI4B Raspbian Busterを初期セットアップする
- VNCからRPI4B Raspbian Busterをセットアップする
- Raspberry Pi 4B に HDMIケーブル A-D + 変換キャップ type A-C でディスプレイ表示する
- Raspberry Pi 4Bのハードウェア情報を表示する(cat /proc/cpuinfo)
企業。