Linux rsync 同步由手动到自动
rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,我们还可以把它作为不同主机网络备份工具之用。本文主要讲述的是如何自架rsync服务器,以实现文件传输、备份和镜像。相对tar和wget来说,rsync 也有其自身的优点,比如速度快、安全、高效; 手动的: 首先要建立好两台服务器之间的公钥和密钥,那样就不需要每次都输入密码,也可以实现自动了。 可以先使用rpm -qa |grep rsync 查看rsync是否已经安装,软件下载Rysnc的主页地址为: 本试验的测试环境(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` 以下是客户端的配置: 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] 摘自 李长春的博客