[Ubuntu] rsync で自宅サーバと VPS サーバの指定ディレクトリ以下を同期させる

経緯

僕は自宅で Ubuntu を使っていますが、もしデータが無くなってしまったら困りますのでバックアップを考えるようになりました。

やり方はいろいろあるんだと思いますが、自宅サーバとは別に さくらインターネットの VPS サーバ (Ubuntu) も使っているので、そこにデータをバックアップすることにしました。

具体的には、rsync で指定したディレクトリ以下のデータを同期 (同じ状態に) させます。コマンドオプションをよく忘れるのでここにメモして残すことにしました。

ここでは Ubuntu を使っていますが、CentOS とか他の Linux ディストリビューションでも同じように動く気がします。

rsync コマンド

$ rsync -av -e ssh --delete /home/nobi/python/ sakura:/home/nobi/python

このコマンドで、自宅の Ubuntu から、さくらインターネットの VPS サーバにデータをコピーしているわけです。

その対象として、/home/nobi/python ディレクトリ以下をまるごとバックアップというわけです。

自宅 Ubuntu にも VPS サーバにも /home/nobi/python ディレクトリがあるので、それを同じ状態にしておきたいわけです。

–delete オプションは、「VPS サーバ上には存在するけど、自宅 Ubuntu には存在しないファイル (ディレクトリ) は削除する」オプションです。この –delete オプションがあるので、同期状態となるわけです。

sakura と書いてところですが、普通は、ユーザー名@サーバーの IP アドレス のようになっているものですが、省略されています。

厳密には省略と言って良いのかどうかわかりませんが、自宅 Ubuntu の /home/nobi/.ssh/config ファイルに書かれた定義を使っているわけです。

自宅 Ubuntu の config ファイル

$ cat config
Host sakura
  HostName 123.234.34.45
  User nobi
  IdentityFile ~/.ssh/sakuraubuntu
$

のように書かれています。

HostName の後ろの IP アドレスは適当に書き換えていますので僕が使っている VPS サーバのアドレスではありません。

config ファイルに sakura と定義してあるので、rsync コマンドで sakura:/home/nobi/python のような書き方ができるわけです。

rsync の処理の経過を表示させたくないとき

rsync にオプション -v をつけると処理状況が表示されますが、それを表示させたくないときは -v をつけません。

$ rsync -a -e ssh --delete /home/nobi/python/ sakura:/home/nobi/python
 Enter passphrase for key '/home/nobi/.ssh/sakuraubuntu':
$

画面表示は以上のようになります。

おまけ (VPS を使うなら ?)

VPS を使おうと思っているなら さくらインターネット が良いです。

僕は 5 – 6 社使っていたことがありますが、管理画面の使いやすさや安定性、ssh ログインしたときのレスポンスの良さ、コスパを考えると、さくらインターネットの VPS 一択です。

2 番手が お名前.com の VPS ですね。

(Visited 110 times, 1 visits today)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください