内容へ移動
fl8 Wiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
Dokuwiki.fl8.jp
»
02_freebsd
»
01_net
»
05 rsync
トレース:
•
2022.01.18 GAS 変更履歴
02_freebsd:01_net:05_rsync
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== 05 rsync ====== ===== インストール ===== <code> # cd /usr/ports/net/rsync # make install </code> ===== バージョン ===== rsync version 2.6.9 ===== 書式 ===== rsync オプション [ホスト名:]コピー元ファイル/ディレクトリ名 [ホスト名:]コピー先ファイル/ディレクトリ名 ===== オプション ===== |-v|バックアップ中にコピーしているファイル名を表示する | |-r|指定したディレクトリ以下を再帰的にコピーする | |-l|シンボリックリンクはそのままコピーする。指定しないとリンク先の実体がコピーされる | |-p|パーミッション属性をたもったままコピーする | |-o|所有者属性をたもったままコピーする。指定しないと属性はコピーしたユーザーのものになる | |-g|グループ属性をたもったままコピーする。指定しないと属性はコピーしたユーザーのものになる | |-t|タイムスタンプをたもったままコピーする | |-D|デバイスファイルをたもったままコピーする | |-z|データを圧縮して転送する | |-u|追加されたファイルだけをコピーする | |-a|上記のオプションで「rlptgoD」を同時に指定する | |--existing|更新されたファイルだけをコピーし、追加されたファイルは無視する | |--delete|コピー元で削除されたファイルは、コピー先でも削除する。-aオプションと同時に指定するとコピー元とコピー先を同期できる | |--exclude KEY|KEYに一致するファイルはコピーしない。 \\ 「*.bak」「*~」など特定のファイルを除外したいときに使う。 \\ 空行と、';' または '#' で始まる行は無視されます。 | |--exclude FILE|「--exclude」オプションと似ていますが、代わりに FILE に除外するファイルのリストを記述します。FILE の空行と、';' または '#' で始まる行は無視されます。 | |--stats|コピーの結果を表示する。指定しないといっさいのメッセージは表示されない | |-e ssh|暗号化してファイルを転送する。コピー先としてネットワークでつながった別のホストを指定するときに使う | |--numeric-ids|ユーザとグループの id 番号を転送して、転送後にマッピング| |--force|ディレクトリが空でなくても削除| |--delete-excluded|受信側にある exclud ファイルも削除| |--inplace|rsync先にファイルが存在する場合上書きする| |--sparse, -S|sparseファイルだった場合、sparseファイルとして扱う| |--hard-links,-H|ハードリンクはそのままコピーする。指定しないとリンク先の実体がコピーされる | オプション-e sshを使って、自動でホスト間のバックアップを行うにはSSHの設定が必要です。 [[01_linux:01_net:06_sshd鍵]] ===== 例 ===== ・/homeを/work/backupとしてバックアップし、同期させる。 <code> # rsync -av --delete /home /work/backup </code> ・/homeをdynabookホストの/work/backupとしてバックアップし、同期させる。 <code> # rsync -av --delete /home dynabook:/work/backup </code> ===== デーモンで立ち上げる場合 ===== ==== /etc/inetd.confに追加 ==== <code> # vi /etc/inetd.conf rsync stream tcp nowait root /usr/local/bin/rsync rsyncd --daemon </code> ==== /usr/local/etc/rsyncd.conf ==== <code> pid file = /var/run/rsyncd.pid log file = /var/log/rsync.log syslog facility = local5 uid = root gid = wheel auth users=backup secrets file=/usr/local/etc/rsyncd.secrets hosts allow = 192.168.1.0/24 hosts deny = * [all-home] comment = home data path = /home </code> ==== /usr/local/etc/rsyncd.secrets ==== <code> # cat /usr/local/etc/rsyncd.secrets backup:xxback </code> ==== ログファイル作成 ==== <code> # touch /var/log/rsync.log </code> ==== /etc/hosts.allowの編集 ==== <code> rsync : 192.168.1. : allow </code> <color red> inetdから起動するのではなく、standaloneで起動した場合は、rsyncd.confにhosts allow = 192.168.1.0/24 のように書いてアクセス制御します。 </color> ==== 実行例 ==== ・ローカルでバックアップをとる場合 <code> $ rsync -rv rsync://localhost/all-home /work/home_backup home home data </code> ・別ホストから、rsyncサーバに接続してバックアップを取る場合 <code> $ rsync -av rsync://userid@host.co.jp/all-home /work/home_backup </code> ・別ホストから、rsyncサーバに接続してバックアップを取る場合 <code> # cat /etc/rsyncd.pass xxback # /usr/local/bin/rsync -auvvz --numeric-ids --password-file=/etc/rsyncd.pass --delete --force --delete-excluded rsync://backup@192.168.1.1/all-home /home --password-file ファイルからパスワードを得る --numeric-ids ユーザとグループの id 番号を転送して、転送後にマッピング。 --force ディレクトリが空でなくても削除 </code> ==== ソースから入れた場合の起動スクリプト ==== <code> #!/bin/sh case "$1" in start) # Start daemons. echo "Starting up rsyncd." /usr/bin/rsync --daemon ;; stop) # Stop daemons. echo "Shutting down rsyncd." /usr/bin/killall rsync ;; *) ;; esac exit 0 </code> <color red>※デーモンで動かしている場合、rsyncd.confを編集後デーモンの再起動は必要ありません。</color> {{tag>rsync}}
02_freebsd/01_net/05_rsync.txt
· 最終更新: 2022/08/11 02:14 by
matsui
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ