世界を旅して暮らしたい放浪エンジニアブログ

rsyncコマンドを学んでみよう!!

最近では滅多に使わなくなったrsyncコマンドを覚えて置くためのメモ投稿です。

[ 目次 ]

はじめに

こんにちは、香港に住んでいるWEBデベロッパーのなかむ(@nakanakamu0828)です。

この記事は過去に運用していたブログからの移行記事になります。

今回はLinuxのコマンドのrsyncについて学んでいきます。

rsyncとは

rsyncコマンドは、ディレクトリ、ファイルを転送・同期する際に利用します。

オプション 意味
-a 「-rlptgoD」と指定したのと同様の効果。(--recursive --links --perms --times --group --owner --devices)
とりあえず基本つけておく
-v 処理の経過を表示
-r 再帰的にコピー
--delete 削除ファイルも同期
--existing 更新分のみ(追加は無視される)
--exclude 除外対象を指定
-e ssh [user@host] ssh経由での同期

サンプルコマンド

【サンプル1 : aaaディレクトリ配下をbbbディレクトリ配下に同期します】

$ rsync -av ./aaa/ bbb

【サンプル2 : aaaディレクトリをbbbディレクトリ配下に同期します】

$ rsync -av ./aaa bbb

【サンプル3 : リモートのaaaディレクトリ配下をローカルのbbbディレクトリに同期】

$ rsync -av -e ssh  [user]@[host]:/home/user/aaa/ ./bbb

【サンプル4 : ローカルのaaaディレクトリ配下をリモートのbbbディレクトリに同期】

$ rsync -av -e ssh ./aaa/ [user]@[host]:/home/user/bbb

【サンプル5 : ローカルのaaaディレクトリ配下をリモートのbbbディレクトリに同期。但し、.gitディレクトリを除外する】

$ rsync -av --exdlude=".git" -e ssh ./aaa/ [user]@[host]:/home/user/bbb

【サンプル6 : ローカルのaaaディレクトリ配下をリモートのbbbディレクトリに同期。但し、ローカルで削除されたディレクトリやファイルがある場合、リモートも削除】

$ rsync -av --delete -e ssh ./aaa/* [user]@[host]:/home/user/bbb

以上となります。
サンプルを利用して色々な同期方法を試してみましょう。

前のページ

次のページ

Profile

なかむ🇭🇰Webデベロッパー

なかむ🇭🇰Webデベロッパー

香港在住4年目になるWEBエンジニアのなかむです。 現在は、LaravelやRailsを利用したWEB開発を中心にエンジニアをしています。 顧客は全て日本の企業になります。リモート開発にて各企業様の支援を行なっております

プロフィール詳細はこちら

Latest Posts