技巧:Linux rsync 同步由手动到自动

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

手动的:服务器

首先要创建好两台服务器之间的公钥和密钥,那样就不须要每次都输入密码,也能够实现自动了。网络

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

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

rsync服务端的ip:192.168.48.60编辑器

rsync客户端的ip:192.168.48.148工具

-----------------------------------------------测试

如下先配置服务器端:ui

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`

如下是客户端的配置:

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]

相关文章
相关标签/搜索