IT猫扑网:您身边最放心的安全下载站! 最新更新| 软件分类| 专题汇总| 手机版

您当前所在位置:IT猫扑网 > 操作系统 > LINUX > Linux rsync同步由手动到自动

Linux rsync同步由手动到自动

时间:2015-06-28 00:00 来源:IT猫扑网|http://www.itmop.com/ 作者:网管联盟 我要评论(0)

  rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,我们还可以把它作为不同主机网络备份工具之用。本文主要讲述的是如何自架rsync服务器,以实现文件传输、备份和镜像。相对tar和wget来说,rsync 也有其自身的优点,比如速度快、安全、高效;

  手动的:

  首先要建立好两台服务器之间的公钥和密钥,那样就不需要每次都输入密码,也可以实现自动了。

  可以先使用rpm -qa |grep rsync 查看rsync是否已经安装,软件下载  Rysnc的主页地址为:http://rsync.samba.org/

  本试验的测试环境(2台,一个服务端,一个客户端)

  rsync服务端的ip:192.168.48.60

  rsync客户端的ip:192.168.48.148

  -----------------------------------------------

  以下先配置服务器端:

  1. 安装rsync包

  # rpm -q rsync

  rsync-2.6.3-1

  2. rsync只使用一个配置文件就是/etc/rsyncd.conf   这个文件一般是没有的,那就自己建一个好了

  # vi /etc/rsyncd.conf

  uid = nobody

  gid = nobody

  max connections = 200

  timeout = 600

  use chroot = no

  read only = yes

  pid file=/var/run/rsyncd.pid

  host_allow =192.168.48.148  //客户端的IP地址写在这里

  #syslog facility = local7

  #log file=/var/log/rsyncd.log

  #rsync config

  #The 'standard' things

  [rsync_gmmold]  //定义同步的路径(客户端用这个关键字链接)

  path = /home     //需要同步的路径

  comment = gmmold //这个暂不知道

  3.启动服务

  #/usr/bin/rsync --daemon   最后在server端将rsync以守护进程形式启动,  rsync启动的端口为 873端口

  4.加入开机启动

  echo &/usr/bin/rsync --daemon& >> /etc/rc.local

  5.检查rsync时候启动

  # ps -ef | grep rsync

  6.停止服务

  #kill `cat /var/run/rsyncd.pid`

#p#副标题#e#

  以下是客户端的配置:

  1. 安装rsync包

  [root@rhel403 old]# rpm -q rsync

  rsync-2.6.3-1

  2. 与服务器端同步:

  #rsync -ave ssh root@192.168.48.60:/home/ /home/ganfic/laji/      //把60机子的/home下的文件同步备份到/home/ganfic/laji/

  自动同步备份:

  1.  在tmp下建一个b.sh文件

  #vi /tmp/b.sh

  把以下内容写到里面去

  #!bin/sh

  rsync -ave ssh root@192.168.48.60:/home/ /home/ganfic/laji/

  :wq

  2    第2步就要涉及到crontab了,在命令行输入

  #crontab -e

  然后把 *  *   *   *   *   sh /tmp/b.sh //* * * * *部分代表每一分钟,然后   sh /tmp/b.sh 表示运行 b.sh脚本(在下面我再补充说明),-e 使用环境变量EDITOR或RVISUAL指定的编辑器编辑crontab文件。新创建的crontab文件会放在/var/spool/cron目录下,文件名就是用户名,用cd  /var/spool/cron后 会看到用户文件,然后用 vi root(我是在root用户下的)就会看到*  *   *   *   *   sh /tmp/b.sh已经被转到这里来了。

  这样就完成了,之后就是看看 有没有运行了,打开日志文件,日志文件在  #vi  /var/log/cron 就会看到有没有运行了,也可以这样,在没有用自动运行之前,我们是用手动操作的,那时也把60的机子的/home目录下的文件拷了下来,那样,我们进本机的/home/ganfic/laji文件夹里就会看到60机子下/home的内容,把这些内容都删了,然后再过1分钟看会不会把内容再补上,有的话就是成功了。

  Linux 防火墙是用iptables,所以我们至少在服务器端要让你所定义的rsync 服务器端口通过,客户端上也应该让通过。

  iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 873 -j ACCEPT

  启动rsync服务:

  /usr/bin/rsync --daemon  --config=/etc/rsyncd/rsyncd.conf

  $rsync_HOME/rsync --daemon  --config=/etc/rsyncd/rsyncd.conf

  补充:

  rsync 的相关知识:

  rsync命令的用法

  在配置完rsync服务器后,就可以从客户端发出rsync命令来实现各种同步的操作。rsync有很多功能选项,下面就对介绍一下常用的选项:

  rsync的命令格式可以为:

  1. rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST

  2. rsync [OPTION]... [USER@]HOST:SRC DEST

  3. rsync [OPTION]... SRC [SRC]... DEST

  4. rsync [OPTION]... [USER@]HOST::SRC [DEST]

  5. rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST

  6. rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

#p#副标题#e#

  命令格式:

  #rsync [option] 源路径 目标路径

  其中:

  [option]:

  a:使用archive模式,等于-rlptgoD,即保持原有的文件权限

  z:表示传输时压缩数据

  v:显示到屏幕中

  e:使用远程shell程序(可以使用rsh或ssh)

  --delete:精确保存副本,源主机删除的文件,目标主机也会同步删除

  --include=PATTERN:不排除符合PATTERN的文件或目录

  --exclude=PATTERN:排除所有符合PATTERN的文件或目录

  --password-file:指定用于rsync服务器的用户验证密码

  源路径和目标路径可以使用如下格式:

  rsync://[USER@]Host[:Port]/Path   <--rsync服务器路径

  [USER@]Host::Path <--rsync服务器的另一种表示形式

  [USER@]Host:Path <--远程路径

  LocalPath  <--本地路径

  crontab的用法:

  crontab [ -u user ] { -l | -r | -e }

  -u user 表示指定用户user的crontab文件,这个前提事你必须要有其权限才能其他用户的crontab文件。如果使用该选项的化,默认设定当前用户的crontab文件。

  -l  列出目前的crontab文件的内容

  -r 删除目前的crontab文件

  -e 使用环境变量EDITOR或RVISUAL指定的编辑器编辑crontab文件。新创建的crontab文件会放在/var/spool/cron目录下,文件名就是用户名。

  crontab内容的格式如下:

  分<>时<>日<>月<>星期<>要运行的命令

  其中<>表示空格

  分:1-59   时:0-23(0表示子夜)   日:1-31    月:1-12    星期:0-6(0表示星期天)

  crontab 文件中的每一行内容必须有上面这5个时间域,并用空格隔开。在时间域中可以用横杆&-&表示一个时间范围,如星期一到星期五:1-5,还可以使用逗号 &,&,如要在星期一和星期三执行任务,可以写成1,3表示。可以用星号& * &表示连续的时间段,如果对某个时间域没有特定的限制就可以在该域中写入*。 在crontab文件中注释的行在行首用& # &表示。下面举例说明哈。

  #每一分钟执行一次

  * * * * *  test.sh

  #每五分钟执行一次

  */5 * * * * test.sh

  #星期一和星期五的12点到18点之间每两小时整执行一次

  0 12-18/2 * * 1,5 test.sh

关键词标签:Linux,rsync

相关阅读 安装红帽子RedHat Linux9.0操作系统教程 Tomcat9.0如何安装_Tomcat9.0环境变量配置方法 多种操作系统NTP客户端配置 Linux操作系统修改IP Linux实现SCSI硬盘热插拔及在线识别 Linux下用CDMA modem拨号上网

文章评论
发表评论

热门文章 安装红帽子RedHat Linux9.0操作系统教程 安装红帽子RedHat Linux9.0操作系统教程 Linux服务器:设计高性能网站架构-LLMP Linux服务器:设计高性能网站架构-LLMP 使用Clonezilla迁移到虚拟Linux环境 使用Clonezilla迁移到虚拟Linux环境 Linux上的MRTG流量监控中心 Linux上的MRTG流量监控中心 Linux 双网卡绑定一个IP原理及实现 Linux 双网卡绑定一个IP原理及实现 linux和windows等系统远程控制ubuntu桌面 linux和windows等系统远程控制ubuntu桌面

相关下载

人气排行 Linux下获取CPUID、硬盘序列号与MAC地址 dmidecode命令查看内存型号 linux tc实现ip流量限制 安装红帽子RedHat Linux9.0操作系统教程 linux下解压rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 关机、重启、注销 命令 查看linux服务器硬盘IO读写负载 linux命令行浏览器的使用方法 Linux NFS服务固定端口及防火墙配置 U盘安装Ubuntu 10.04 Linux清除用户登录记录和命令历史方法