yuu_nkjm blog


2011-11-23(Wed) [長年日記]

[sudo][rsync][ssh][backup] rsync + sudo + ssh

お題

  • リモートサーバのroot権限がないとアクセス出来ないファイルも含めて,バックアップが取りたい.
  • rootでは,リモートサーバにログインできない.一般ユーザでは鍵を使えばログインできる.

…というような状況なので,rsync + sudo + sshをすることを考える.

sudoを使ってリモートのバックアップ対象サーバにおいてrootでrsyncできる様にする

visodo
# /etc/sudoersの編集と同義.
 
#Defaults    requiretty
#ALL  ALL=(ALL) ALL 
#上記,二つをコメントアウト
# 追加
bakupuser ALL= NOPASSWD:/usr/bin/rsync

セキュリティを考えるとrsyncを許可するより,コピー先やオプションを書いたrsyncのシェルスクリプトを用意して,それの実行を許可した方が良いかな.

rsyncの実行

su 
rsync --rsync-path="sudo rsync" -qac hoge@hoge.nkjm.info:/ /mnt/backup/hoge.nkjm.info/

--rsync-pathはリモートで実行するrsyncを具体的に指定するオプション.これによりsudoしてrsyncをすることができる.

aはアーカイブのオプションで,つけとけば間違いない.qは出力を静かにさせる.詳細に振る舞いを確認したいときはvやvvとする.cはチェックサムの確認をする.オプション.

このケースでは,ssh-agentによる認証の転送をしてリモートサーバにログインをした.rsyncで明示的にssh+鍵認証をするなら,-eオプションを使う.

psしてみると,リモート側でrsyncが動いていることが分かる.

本日のリンク元
その他のリンク元
検索

トップ «前の日記(2011-11-22(Tue)) 最新 次の日記(2011-11-24(Thu))» 月表示 編集 設定
2006|01|06|12|
2007|06|09|
2008|01|03|04|06|07|08|09|10|12|
2009|01|02|05|06|07|08|10|11|12|
2010|03|04|05|06|07|08|09|10|11|
2011|01|02|03|04|05|06|07|08|09|11|12|
2012|01|02|04|06|07|08|10|11|12|
2013|01|02|03|07|08|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|
2015|01|02|07|11|12|
2016|01|03|05|07|08|09|