ITPub博客

首页 > Linux操作系统 > Linux操作系统 > sftp

sftp

原创 Linux操作系统 作者:xuexiaogang 时间:2015-08-10 10:39:58 0 删除 编辑

Rsync的用途和部署目的

网站各个模块的发布中,不管是静态处理(Nginx)还是动态处理的服务器(Tomcat),版本和版本路径都是一样的(/data/www/ROOT)。为了使得各种负载均衡的单元以及各个service或app模块的服务器的版本保持同步,Rsync定时将批量服务器版本同步。从而提升发布效率,避免版本不同步的错误发生。同时也起到版本交叉备份的作用。

 

4、Rsyncd(服务端&发布端)的部署

注:以下操作全部以root账号运行。

4.1、Rsyncd的安装

wget http://phzcudns001.phzc.com/src/rsync-3.1.1.tar.gz

tar zxvf rsync-3.1.1.tar.gz && cd rsync-3.1.1

./configure -prefix=/usr/local/rsync

make && make install

4.2、Rsyncd的配置文件

创建一个配置文件(默认无):

vi /etc/rsyncd.conf

内容如下:

uid = root

gid = root

use chroot = no

max connections = 100

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /data/logs/rsync/rsyncd.log

address = 内网地址

port = 873

[www]

path = /data/www/

ignore errors

read only = true

list = false

hosts allow = 10.10.0.0/16

auth users = root

secrets file = /etc/rsync.pas

(这里推荐2个配置文件的参数,叫include和exclude,分别可以指派要同步的文件和目录,以及不需同步的文件和目录,比如logs目录,*.log文件等)

4.3、Rsyncd的密码文件

配置密码文件(/etc/rsync.pas)也是需要手动创建

vi /etc/rsync.pas 内容如下:

root:123456789

需要将该文件的权限修改为600,属主和属组都是root

chown root:root /etc/rsync.pas

chmod 600 /etc/rsync.pas

4.3、创建rsyncd的日志文件,并用logrotate每日截断

mkdir -p /data/logs/rsync

vi /etc/logrotate.d/rsync 加入以下脚本:

/data/logs/rsync/rsyncd.log {

daily

rotate 365

missingok

sharedscripts

postrotate

    if [ -f /var/run/rsyncd.pid ]; then

        kill -USR1 `cat /var/run/rsyncd.pid`

    fi

endscript

}

4.4、启动rsync服务并将其设置为开机启动

/usr/local/rsync/bin/rsync --daemon

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

(可以通过vi /etc/rc.local查看是否有追进进去)

 

5、Rsync(客户端的同步)的部署

5.1、添加密码配置文件

在从服务器上(rsync客户端)用命令去同步文件即可。

首先生成一个密码配置文件,需要和源数据服务器(主服务器)上面的密码保持一致。

vim /etc/rsyncd.secrets(文件不存在,vi手动生成)

只需要填写密码即可(例如上面的123456789)

该文件的权限也需要保持为600

chmod 600 /etc/rsyncd.secrets

5.2、加入每日计划任务

使用crontab来实现定时更新

crontab –e 加入以下:

0 2 * * * rsync -auzvP --progress --password-file=/etc/rsyncd.secrets root@内网地址::www /data/www/

这样就把远程服务器下的/data/www/(在源数据服务器的/etc/rsyncd.conf里面配置的)的数据同步到了远程服务器下的/data/www/了。

注意:如果要实现真实同步,可以加--delete,但是这样会引起本地确实需要的文件在执行同步之后没有了,所以建议一般情况不加delete参数,实现增量同步。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/637517/viewspace-1766813/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: mysql-awr报告
下一篇: SVN
请登录后发表评论 登录
全部评论
OracleACE/PostgreSQLACE/阿里云MVP/腾讯云TVP/墨天轮 MVP/TiDBMVA/数盟会华东区长老/OpenTenBase社区委和技术委委员/架构师技术同盟名人堂成员上海地区理事会成员/if社区联合发起人/《DBA实战手记》作者/公众号:四海内皆兄弟

注册时间:2013-07-01

  • 博文量
    422
  • 访问量
    953142