当前位置: 首页 » 产品 » 微商货源 » 正文

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

放大字体  缩小字体 发布日期: 2024-11-27 12:48   来源:http://www.baidu.com/  作者:无忧资讯  浏览次数:18
核心提示:  Rsync 非常适合在两台机器之间快速同步大型、复杂的目录,例如论坛的附件目录。再配合 ssh ,则安全性也有保证,且可以利用

  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=http://www.3lian.com/usr/local/bin/rsync
SSH=http://www.3lian.com/usr/bin/ssh
KEY=http://www.3lian.com/home/localuser/.ssh /id_rsa
RUSER=remoteuser
RHOST=remotehost
RPATH=http://www.3lian.com/remote/dir
LPATH=http://www.3lian.com/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命令来定时执行备份数据脚本了哦。

 
 
[ 产品搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]

 

 
推荐图文
推荐产品
点击排行
    行业协会  备案信息  可信网站