【備忘録】サーバーのファイルを、自分のパソコンにもってくるためのrsyncコマンド【Mac用】

  • URLをコピーしました!
目次

コマンド

rsync -avz -e "ssh -p 10022 -i ~/.ssh/[hoge].key" [username]@[hostname]:/home/hogehoge/www/example.com/ ./

※ポートとか鍵ファイル指定いらないときはrsync -avz [username]@[hostname]:/home/hogehoge/www/example.com/ ./

/home/hogehoge/www/example.com/ がサーバー上のフォルダのパス
./ がいまターミナルで開いているパソコンの中のフォルダのこと

何が起きるか

やりたいこと

/home/hogehoge/www/example.com/ のデータを、
自分のパソコンの /Users/[username]/temp/test にもってきたい!

/home/hogehoge/www/
/home/hogehoge/www/example.com/

やること

1. ssh接続確認

仮に ssh -p 10022 -i ~/.ssh/[hoge].key [username]@[hostname] で接続できるとします。接続できるようにしておいてください

2. 自分のパソコンのファイルを置きたいフォルダをターミナルで開く

仮に cd ~/temp/test/ とします。

3. rsync コマンドでデータを持ってくる

rsyncコマンドで ssh接続した先にある/home/hogehoge/www/example.com/ のデータを 今開いているフォルダ ./ に入れてね とやります

rsync -avz -e "ssh -p 10022 -i ~/.ssh/[hoge].key" [username]@[hostname]:/home/hogehoge/www/example.com/ ./

※パスフレーズを聞かれるなどしたら、答えます。聞かれないパターンの場合はそのまま処理がはじまります。

処理がはじまったときの画面

4. 処理が終わったら完了

処理が終わったときの画面
ファイルがパソコンのフォルダに入った様子

※オプション-avz は、「元のファイル構造や情報を保ったまま、進行状況を見ながら、圧縮して効率よくコピーする」という意味らしいです。

こんなときは

ファイルごとのダウンロード進捗率を見たいよ

--progress オプション

これを付けるとどでかいファイルを落としてくるとき、進行状況が見えるようになります。どでかいファイルのところで「処理が止まったか?」とドキドキしたくないときに。

rsync -avz --progress -e "ssh -p 10022 -i ~/.ssh/[hoge].key" [username]@[hostname]:/home/hogehoge/www/example.com/ ./
–progress ないとき
–progress あるとき

どでかいファイルは持って来たくないよ

--exclude-from="exclude.txt" オプション

1. 自分のパソコンのファイルを置きたいフォルダに除外ファイルリスト exclude.txt を置く

wp-config.php
.htaccess
wp-admin
uploads

2. 自分のパソコンのファイルを置きたいフォルダをターミナルで開く

cd ~/temp/test/

3. ls でフォルダに exclude.txt が入っているのを確認

4. rsyncコマンドに --exclude-from="exclude.txt" を足して実行

rsync -avz --exclude-from="exclude.txt" -e "ssh -p 10022 -i ~/.ssh/[hoge].key" [username]@[hostname]:/home/hogehoge/www/example.com/ ./

5. リストにあるファイルとフォルダ以外がパソコンの中のフォルダにファイルが入る

wp-config.phpと、.htaccessと、wp-adminフォルダと、wp-contentのなかのuploadsが除外されて入った様子
よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

目次