For Want Of A Better Word

sshでのrootログイン禁止環境化で rsyncをリモートサーバーと実施する。

      2015/04/19

面倒臭かったけどいろいろ調べたのでメモ

とりあえず最終的なコマンドが下記。(これはこれでシェルにまとめています。)

#!/bin/bash

RSYNC=/usr/bin/rsync
EXCLUDE_FILE= <除外ファイル名>

$RSYNC -avz -e “ssh -i 秘密鍵ファイル -l ユーザー名” –exclude-
from=$EXCLUDE_FILE–rsync-path=”sudo $RSYNC“/pj/ ユーザー名@リモートホスト:/pj $*

-avz

rsyncのオプション 

    • 「-a」:よく使うオプションを一つにまとめたもの。-rlptgoDと同じ。

-r:ディレクトリを再帰的にコピーする。
-l:シンボリックリンクを、そのままシンボリックリンクとしてコピーする 。
-p:パーミッションをそのままコピーする 。
-t:タイムスタンプをそのままコピーする 。
-g:グループをそのままコピーする 。
-o:ファイルオーナー (所有者) をそのままコピーする 。
-D:デバイスファイルやを特殊ファイルを、そのままコピーする。

    • 「-v」:コピーしたファイル名や、コピーしたバイト数などの転送情報を表示するオプション。
    • 「-z」:-compressと同じ。転送時に圧縮を行う。

-e “ssh -i 秘密鍵ファイル -l ユーザー名”

rsyncのオプション。外部サーバーに接続するためのプロトコルを設定する。 デフォルトでsshだが、秘密鍵認証が必要なため指定。

  • 「-i」:使用する秘密鍵
  • 「-l」:sshでログインするユーザーを設定。

–exclude-from=$EXCLUDE_FILE

rsyncのオプション。同期の除外対象を記載したファイル。

rsync-path=”sudo $RSYNC

リモートサーバーのrsyncパスを設定。

/pj/

同期元フォルダ

ユーザー名@リモートホスト:/pj

同期先フォルダ

「$*」

シェルへの引数リストをrsyncに渡す。

リモートでのrootログイン禁止下でのリモートrsyncの実行のための設定

別記事へ続く。

 - 未分類

  関連記事

no image
Jquery HTMLレンダリング後に動く処理

[参考URL]http://d.hatena.ne.jp/monjudoh/20 …

no image
CentOS yum メッセージ &amp;quot;packages excluded due to repository priority protections&amp;quot;

171 packages excluded due to repository …

no image
Symfony2をつかってみる おまけ1

ここまででちょっと検証 今は、ドキュメントルート内に、Synfonyを配置したけ …

no image
言語設計とプログラミング(言語は生産性)

言語は生産性に影響を与える [crayon-58ad6ac72475646548 …

no image
メモ_レコメンドエンジン_cicindela

cicindela2 – a highly customizable …