24.03.2015 Views

Unix Toolbox - 中文版 - LinuxTone.Org

Unix Toolbox - 中文版 - LinuxTone.Org

Unix Toolbox - 中文版 - LinuxTone.Org

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

使 用 rsync 守 护 进 程 ( 使 用 "::") 是 很 快 的 , 但 没 有 透 过 SSH 加 密 。 位 置 /backup 定 义 在 了 配 置 文 件 /etc/<br />

rsyncd.conf 中 。 变 量 RSYNC_PASSWORD 可 以 设 置 用 来 免 除 手 动 输 入 密 码 。<br />

# rsync -axSRz /home/ ruser@hostname::rmodule/backup/<br />

# rsync -axSRz ruser@hostname::rmodule/backup/ /home/ # 回 拷 贝<br />

一 些 重 要 选 项 :<br />

-a, --archive<br />

-r, --recursive<br />

-R, --relative<br />

-H, --hard-links<br />

-S, --sparse<br />

-x, --one-file-system<br />

--exclude=PATTERN<br />

--delete-during<br />

--delete-after<br />

7.1 在 Windows 上 使 用 Rsync<br />

归 档 模 式 , 等 于 -rlptgoD ( 非 -H)<br />

对 子 目 录 以 递 归 模 式 处 理<br />

使 用 相 对 路 径 名<br />

保 留 硬 链 结<br />

对 稀 疏 文 件 进 行 特 殊 处 理 以 节 省 DST 的 空 间<br />

不 跨 越 文 件 系 统 边 界<br />

指 定 排 除 不 需 要 传 输 的 文 件 模 式<br />

传 输 期 间 删 除<br />

传 输 结 束 以 后 再 删 除<br />

可 以 通 过 cygwin 或 独 立 打 包 的 cwrsync 28 来 在 Windows 上 运 行 rsync。 这 对 于 自 动 备 份 来 说 非 常 方 便 。 只 装<br />

其 中 一 个 ( 不 是 两 个 ), 然 后 添 加 路 径 到 Windows 系 统 变 量 中 :# 控 制 面 板 -> 系 统 -> 高 级 标 签 , 环 境 变 量 按<br />

钮 。 编 辑 "Path" 添 加 rsync 的 安 装 路 径 , 比 如 :C:\Program Files\cwRsync\bin 或 者 C:\cygwin\bin。 这 可<br />

以 让 rsync 和 ssh 可 用 于 Windows 命 令 窗 口 中 。<br />

公 钥 认 证<br />

Rsync 是 自 动 使 用 SSH 隧 道 的 , 因 此 在 服 务 端 使 用 SSH 认 证 。 自 动 备 份 可 免 受 用 户 的 影 响 ,rsync 命 令 对 于 使<br />

用 SSH 公 钥 认 证 可 以 不 需 要 密 码 。<br />

下 面 所 有 的 命 令 都 可 在 windows 控 制 台 中 执 行 。 在 控 制 台 ( 开 始 -> 运 行 -> cmd) 中 像 在 SSH 中 描 述 的 那 样 创<br />

建 和 上 传 密 钥 , 根 据 你 的 情 况 改 变 "user" 和 "server"。 如 果 文 件 authorized_keys2 不 存 在 , 拷 贝<br />

id_dsa.pub 成 authorized_keys2 并 上 传 它 。<br />

# ssh-keygen -t dsa -N '' # 创 建 密 钥 对<br />

# rsync user@server:.ssh/authorized_keys2 . # 从 服 务 器 拷 贝 本 地 文 件<br />

# cat id_dsa.pub >> authorized_keys2 # 或 者 使 用 编 辑 器 添 加 这 个 公 钥<br />

# rsync authorized_keys2 user@server:.ssh/ # 拷 贝 文 件 回 服 务 器<br />

# del authorized_keys2 # 删 除 本 地 拷 贝<br />

现 在 测 试 一 下 ( 在 同 一 行 里 面 ):<br />

rsync -rv "/cygdrive/c/Documents and Settings/%USERNAME%/My Documents/" \<br />

'user@server:My\ Documents/'<br />

自 动 备 份<br />

— RSYNC —<br />

使 用 批 处 理 文 件 自 动 备 份 并 添 加 到 任 务 计 划 ( 程 序 -> 附 件 -> 系 统 工 具 -> 任 务 计 划 )。 举 个 例 子 , 创 建 批 处 理<br />

文 件 backup.bat 取 代 user@server。<br />

@ECHO OFF<br />

REM rsync the directory My Documents<br />

SETLOCAL<br />

SET CWRSYNCHOME=C:\PROGRAM FILES\CWRSYNC<br />

SET CYGWIN=nontsec<br />

SET CWOLDPATH=%PATH%<br />

REM uncomment the next line when using cygwin<br />

SET PATH=%CWRSYNCHOME%\BIN;%PATH%<br />

echo Press Control-C to abort<br />

rsync -av "/cygdrive/c/Documents and Settings/%USERNAME%/My Documents/" \<br />

'user@server:My\ Documents/'<br />

pause<br />

28.http://sourceforge.net/projects/sereds<br />

26

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!