Chinaunix首页 | 论坛 | 博客
  • 博客访问: 506397
  • 博文数量: 105
  • 博客积分: 3040
  • 博客等级: 中校
  • 技术积分: 1450
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-08 13:04
文章分类

全部博文(105)

文章存档

2008年(105)

我的朋友

分类: LINUX

2008-07-21 10:46:57

ssh-keygen -t rsa 回车,然后问你文件名,可以直接回车跳过,密码──如果你不想给KEY文件加密,可以回车跳过。建立完毕,把id_rsa.pub传到服务器上相应用户的.ssh目录下并命名成authorized_keys,同时确保本地~/.ssh/id_rsa文件的权限是-rw-------,应该就行了。

启动rsync服务
rsync --daemon

rsync -vzru --progress --delete -e ssh yushin@192.168.0.1:/mnt/date/ /mnt/data

rsync有六种不同的工作模式:
  1. 拷贝本地文件;当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。
  2.使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST
路径地址包含单个冒号":"分隔符时启动该模式。
  3.使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC
地址路径包含单个冒号":"分隔符时启动该模式。
  4. 从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。
  5. 从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。
  6. 列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。
  下面以实例来说明:
  # rsync -vazu -progress terry@192.168.100.21:/terry/ /home
  v详细提示
  a以archive模式操作,复制目录、符号连接
  z压缩
  u只进行更新,防止本地新文件被重写,注意两者机器的时钟的同时
  -progress指显示
  以上命令是保持客户机192.168.100.90上的/home/terry目录和rsync服务器上的terry目录同
步。该命令执行同步之前会要求你输入terry账号的密码,这个账号是我们前面在rsyncd.secrets
文件中定义的。如果想将这条命令写到一个脚本中,然后定时执行它的话,可以使用--password-file
选项,具体命令如下:
  # rsync -vazu -progress --password-file=/etc/rsync.secret
  terry@192.168.100.21:/terry/ /home
  要使用--password-file选项,就得先建立一个存放密码的文件,这里指定为/etc/rsync.secret。
其内容很简单,如下:
  terry:12345
  同样要修改文件属性如下:
  # chmod 600 /etc/rsyncd.secrets

  四、利用rsync保持Linux服务器间的文件同步实例
  现在假设有两台Linux服务器A(192.168.100.21)和B(192.168.100.90),服务器A中的
/home/terry和服务器B中的/home/terry这两个目录需要保持同步,也就是当服务器A中文件发生
改变后,服务器B中的文件也要对应去改变。
  我们按上面的方法,在服务器A上安装rsync,并将其配置为一台rsync服务器,并将/home/terry
目录配置成rsync共享出的目录。然后在服务器B上安装rsync,因为B只做客户端,所以无需配置。
然后在服务器B,建立以下脚本:
  #!/bin/bash
  /usr/loca/rsync/bin/rsync -vazu -progress --delete
  --password-file=/etc/rsync.secret terry@192.168.100.21:/terry/ /home
  将这个脚本保存为AtoB.sh,并加上可执行属性:
  # chmod 755 /root/AtoB.sh
  然后,通过crontab设定,让这个脚本每30分钟运行一次。执行命令:
  # crontab -e
  输入以下一行:
  0,30 * * * * /root/AtoB.sh
  保存退出,这样服务器B每个小时的0分和30分时都会自动运行一次AtoB.sh,AtoB.sh是负责
保持服务器B和服务器A同步的。这样就保证了服务器A的所有更新在30钟后,服务器B也一样取
得了和服务器A一样的最新的资料。

  五、其它应用
  rsync除了同步文件及目录之外,还可以利用它来实现对远程网站的远程备份。如果再结合脚本和Crontab就能实现定时自动远程备份。其可以实现与商业化的备份和镜象产品的类似效果,但完全免费。

远程拷贝:
/usr/bin/rsync -a 192.168.0.1::remotedic /home2/html/localdic
阅读(2635) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~