linux中rsync异步服务器实现文件同步与备份

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux中rsync异步服务器实现文件同步与备份相关的知识,希望对你有一定的参考价值。

参考技术A   Rsync
非常适合在两台机器之间快速同步大型、复杂的目录,例如论坛的附件目录。再配合
ssh
,则安全性也有保证,且可以利用
ssh
public
key

cron
来进行自动定时同步。
  说明:两台机器分别为
localhost

remotehost
;用户分别为
localuser

remoteuser。
  环境:FreeBSD
4.9

FreeBSD
6.1
代码如下

设置
ssh
public
key
认证
$ssh-keygen
-t
dsa
-b
2048
生成所需的密钥
$scp
/home/localuser/.ssh/id_dsa.pub
remoteuser@remotehost:/home/remoteuser/.ssh/localuser_id_dsa.pub
将公钥拷贝至
remotehost
$ssh
remoteuser@remotehost
  登录到?端
代码如下

$cd
.ssh/
;
cat
localuser_id_dsa.pub
>>
authorized_keys
  至此,设置
ssh
认证完毕。
  设置
rsync
  确认两端机器都安装
rsync

freeBSD

ports
,安装非常方便。
  写个脚本名为
backup.sh
,内容如下:
代码如下

#!/bin/sh
RSYNC=/usr/local/bin/rsync
SSH=/usr/bin/ssh
KEY=/home/localuser/.ssh
/id_rsa
RUSER=remoteuser
RHOST=remotehost
RPATH=/remote/dir
LPATH=/this/dir
$RSYNC
-az—delte
-e
“$SSH
-i
$KEY”
$RUSER@$RHOST:$RPATH
$LPATH
  -a
选项相当于选项
-rlptgoD
。简单来讲,此选项可递归并将几乎所有的东西同步过去,非常有用。注意的是,
-a
默认不会保存
hardlinks
,不过可以单独用
-H
选项来实现。
  -z
选项在传输中压缩文件,这无疑加快同步速度。
  -delete
选项会删除接受方一些不应存在的文件,此文件在发送方已经被删除,这将保持目录完全同步。
  让
cron
每天凌晨1点来跑这个脚本
代码如下

$crontab
-e
0
1
*
*
*
/home/localuser/bin/backup.sh
  友情提示
  rsync是没有自动启动同步功能了,如果我们要定时去备份一个网站数据我们就需要用到定时功能了,上面的例子来使用到了linux中$crontab命令来定时执行备份数据脚本了哦。

以上是关于linux中rsync异步服务器实现文件同步与备份的主要内容,如果未能解决你的问题,请参考以下文章

linux下rsync+inotify实现服务器之间文件实时同步

linux 文件同步

(转)Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步

linux rsync远程同步+sersync+rsync实现实时同步

RSync实现文件备份同步

Linux服务之Rsync