欢迎来到个人简历网!永久域名:gerenjianli.cn (个人简历全拼+cn)
当前位置:首页 > 范文大全 > 实用文>linux系统下rsync文件同步配置工作笔记linux操作系统

linux系统下rsync文件同步配置工作笔记linux操作系统

2023-11-23 08:57:57 收藏本文 下载本文

“letwalk”通过精心收集,向本站投稿了8篇linux系统下rsync文件同步配置工作笔记linux操作系统,下面是小编为大家带来的linux系统下rsync文件同步配置工作笔记linux操作系统,希望大家能够喜欢!

linux系统下rsync文件同步配置工作笔记linux操作系统

篇1:linux系统下rsync文件同步配置工作笔记linux操作系统

最近需要迁移服务器,但是由于解析解析生效的时间问题,所以可能会导致网站可能出现不能提供服务器,解决办法为:将两个服务器的web程序代码进行同步,然后两个web服务器共同连接一个服务器,这样就算是解析没有生效用户也不会感觉到差距,数据可以远程连接,但是代码还是随时有人进行修改的,所以这边就需要将代码进行同步做一个镜像处理,

mysql远程连接这个以前已经实践过了,依稀记得该死的空间商封了3306….

今天从早上一直研究到现在就为了搞定rsync同步

服务器1:同步源服务器

服务器2:同步服务器也就是新服务器

首先检查两个服务器有没有安装rsync

代码如下复制代码[root@localhost .ssh]# rpm -qa rsync#如果没有安装可以 yum install rsync

接下来需要配置源服务器了

代码如下复制代码

#vi /etc/rsyncd.conf

log file = /var/log/rsyncd.log

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

[test]                                     #rsync区段的设定名称,待会同步服务器会用到

path =/data/www/       #需要同步的数据存放路径

comment = test folder   #注释

uid = apache             #采用什么身份进行文件读取

gid = apache             #同上,必须是有读取path权限的用户、组

ignore errors                          #忽略错误

read nly = yes           #只读

list = no                                 #不能列表

auth users = bak               #连接rsync服务的帐号

secrets file = /etc/rsyncd.secrets   #指定存放帐号密码的位置

接下来我们新建存放帐号用户名的文件

代码如下复制代码#vi /etc/rsyncd.secrets

#格式:帐号:密码

bak:bac123

更改文件密码文件的权限

代码如下复制代码

#chown root:root /etc/rsyncd.secrets

#chmod 600 /etc/rsyncd.secrets

启动rsync服务

代码如下复制代码

#rsync --daemon

停止rsync服务器

代码如下复制代码

kill `cat /var/run/rsyncd.pid`  #kill 后是反引号

由于这里只是过渡备份使用所以就不加入自启动,加入自启动如下

修改/etc/xinetd.d/rsync文件,把其中的disable=yes改为disable=no

代码如下复制代码

#sed -i -e “/disable/{ s/yes/no/ }” /etc/xinetd.d/rsync

#service xinetd.d restart

同步服务器配置

代码如下复制代码

#rsync -azv --delete rsync://bak@192.168.1.2/test /var/www/html --password-file=/etc/rsyncpassword

#vi /etc/rsyncpassword  #直接填写密码即可#

#chmod 600 /etc/rsyncpassword #修改文件的权限

#chown root:root /etc/rsyncpassword #修改文件的所属用户和组

定时更新

代码如下复制代码

crontab -e

20 * * * * /data/rsync.sh #每20分钟同步一次,这里是增量备份所以不需要担心

至此rsync同步已经算搞定了,这样就搞定了我们的业务需求了,

下次买服务器还是得买个靠谱的,不然换个服务器真心难受。

其实rsync也可以做成网站代码备份。这个以后再说吧

篇2:linux下使用rsync实现文件目录同步linux操作系统

rsync是一款很不错的文件同步工作,他不但可以实现windows机器之间的文件同步还可以实现不同操作系统工程之的文件同步,下面我来介绍在linux中rsync实现文件同步技巧,

实现目标:

服务器A与服务器B同步备份,这里只说明服务器A同步到服务器B,服务器B还原到服务器A。

考虑安全因素,使用普通用户进行同步。

使用cronjob,定时同步。

A 服务器上/opt/web 目录,与B客户端服务器上/opt/web目录实现同步。即:B主动与A进行同步。(A的文件会同步到B机器上)

代码如下复制代码OS: Reaht AS4

A Server 192.168.0.100 /opt/web

B Server 192.168.0.60 /opt/web

一. A Server config

1.安装服务

代码如下复制代码yum install xinetd

yum install rsync

2. vi /etc/xinetd.d/rsync 修改 disable =yes 为 disable =no ,修改后的文件如下

代码如下复制代码

# default: off

# description: The rsync server is a good addition to an ftp server, as it

#      allows crc checksumming etc.

service rsync

{

disable = no

socket_type    = stream

wait           = no

user           = backup

server         = /usr/bin/rsync

server_args    = –daemon

log_on_failure += USERID

}

3. 编辑主要配置文件/etc/rsyncd.conf (不存在则自己创建)

代码如下复制代码vi /etc/rsyncd.conf

uid = backup

gid = backup

use chroot = no                  # 不使用chroot

max connections = 4             # 最大连接数为4

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsyncd.lock

log file = /var/log/rsyncd.log       # 日志记录文件

[web]                                # 这里是认证的模块名,在client端需要指定

path = /opt/web                     # 需要做镜像的目录

ignore errors                       # 可以忽略一些无关的IO错误

read nly = true                     # 只读

list = false                         # 不允许列文件

hosts allow = 192.168.0.0 # 允许的IP地址

hosts deny = 0.0.0.0/32   # 禁止的IP 地址

auth users = backup       # 认证的用户名,如果没有这行,则表明是匿名

secrets file = /etc/backup.pass #认证用户的密码文件 认证文件名

4. 编辑服务器的密码文件 /etc/backup.pass,文件只能有可读权限 400

代码如下复制代码vi /etc/backup.pass        #文件格式如下

backup:123456

chmod 400 /etc/backup.pass

5.启动服务

首次启动rsync

代码如下复制代码rsync –daemon –config=/etc/rsyncd.conf

如果提示

代码如下复制代码failed to create pid file /var/run/rsyncd.pid: File exists

使用指令

代码如下复制代码rm -rf /var/run/rsyncd.pid

用以下命令查看rsync是否已经运行:netstat -an|grep 873

代码如下复制代码[root@localhost web]# netstat -an|grep 873

tcp       0     0 0.0.0.0:873                0.0.0.0:*                  LISTEN

tcp       0     0 :::873                     :::*                       LISTEN

重启已经在运行的rsync

代码如下复制代码[root@mail video]# ps -ef | grep rsync

root    27284    1 0 10:26 ?  00:00:00 rsync –daemon –config=/etc/rsyncd.conf

root    30516 29986 0 18:35 pts/3   00:00:00 grep rsync

[root@mail video]# kill -9 27284

[root@mail video]# rsync –daemon –config=/etc/rsyncd.conf

service xinetd restart,重启 xinted 服务

rsync 系统自带, 需要使用 –deamon 方式进行启动,服务端口是 TCP 873

rsync –deamon –config=/etc/rsyncd.conf

如果要在启动时把服务起来,有几种不同的方法,比如:

a、加入inetd.conf

编辑/etc/services,加入rsync  873/tcp,指定rsync的服务端口是873

编加/etc/inetd.conf,加入rsync stream tcp  nowait backup /bin/rsync rsync –daemon

b、加入rc.local

在各种操作系统中,rc文件存放位置不尽相同,可以修改使系统启动时rsync –daemon加载进去,

二. B Server config

1. yum install rsync 安装rsync服务

2. 创建rsync连接时的密码文件/etc/rsync_client.pass,所放目录自己随意安排,文件权限为只读400

vi /etc/rsync_client.pass #文件格式如下:

#只需要配置连接时使用的密码即可,必须与A服务器上定义的密码相同.

代码如下复制代码chmod 400 /etc/rsync_client.pass

3. 使用 rsync 命令连接服务器,实现文件同步

代码如下复制代码rsync -vzrtopg –progress –delete –password-file=/etc/rsync_client.pass backup@192.168.0.100::web /opt/web

PS:目录同步时要保存相同的文件属主信息,需要在B服务器上创建相同的用户

代码如下复制代码rsync -qcazrtopgl –progress –delete –password-file=/etc/rsync_client.pass –exclude=”*.gz” –exclude-from=/opt/pcdir backup@192.168.0.100::web /opt/web

backup为认证用户名;

192.168.0.100为服务器端IP;

Web为模块名;

/opt/web 为本地的目录

三.定时任务

代码如下复制代码[root@localhost admin_backups]# vi backup.sh

内容如下:

代码如下复制代码#/bin/sh

rsync -qcazrtopgl –progress –delete –password-file=/etc/rsync_client.pass –exclude=”*.gz” –exclude-from=/opt/pcdir backup@192.168.0.100::web /opt/web

添加定时任务:

代码如下复制代码[root@localhost admin_backups]# crontab –e

添加以下内容:

代码如下复制代码*/1 * * * * /home/admin/admin_backups/backup.sh >/dev/null 2>&1

每个一分钟从服务器A同步到服务器B!

4. 使用 –execlude= 排除不需要同步的文件后缀名

代码如下复制代码rsync -vzrtopg –progress –delete –password-file=/etc/rsync_client.pass –exclude=”*.tmp”

backup@192.168.0.100::web /opt/web

5. 使用 –execlude-from= 排除不需要同步的目录

代码如下复制代码[root@localhost opt]# rsync -vzrtopg –progress –delete –password-file=/etc/rsync_client.pass –exclude-from=/opt/pcdir backup@192.168.0.100::web /opt/web

/opt/pcdir 文件的内容如下

cat /opt/pcdir

temp/

参数说明

-vzrtopg里的

v是verbose,

z是压缩,

r是recursive,

topg都是保持文件原有属性如属主、时间的参数

—-progress

是指显示出详细的进度情况

–delete

是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致

–exclude=”*.tmp”              不包含某些文件

–execlude-from=       排除不需要同步的目录

/opt/web/

指定CLIENT端存放镜象目的路径

篇3:rsync实现linux文件同步到windows配置详解linux操作系统

本文章来给大家介绍关于rsync实现linux文件同步到windows配置详解,希望此方法对各位同学会有所帮助呀,

说明:

本篇文章实现linux定时将www,msyql,svn目录rsync到win指定目录上。

win2003安装CWRsync,做为rsync的server端,运行CWRsync守护进程daemon,接受linux同步过来的文件;

linux为centos,本身就有rsync,按时rsync文件到win上。

环境:

win2003 192.168.1.2 CWRsync rsyncd服务端,以daemon守护进程运行

linux 192.168.1.3 rsync客户端

实现:

1.win2003安装CWRsync及防火墙设置

请参照:CWRsync图文安装

2.修改CWRsync配置文件rsyncd.conf(CWRsync安装目录下,我这里的安装目录是:D:CWRsync)

代码如下复制代码

uid = 0

gid = 0

use chroot = false

strict modes = false

hosts allow = 192.168.1.3

log file = rsyncd.log

# Module definitions

# Remember cygwin naming conventions : c:work becomes /cygwin/c/work

#

[www]

path = /cygdrive/e/bakup/1_3/www //CWRsync会自动将系统上所有的盘mount成/cygwin/x,因此/cygdrive/e/bakup/1_3/www指的是e:bakup1_3www目录

read nly = false

transfer logging = yes

auth users = rsyncd

secrets file = /cygdrive/D/CWRsync/rsyncd.secrets

[mysql]

path = /cygdrive/e/bakup/1_3/mysql

read nly = false

transfer logging = yes

auth users = rsyncd

secrets file = /cygdrive/D/CWRsync/rsyncd.secrets

[svn]

path = /cygdrive/e/bakup/1_3/

read nly = false

transfer logging = yes

auth users = rsyncd

secrets file = /cygdrive/D/CWRsync/rsyncd.secrets

3.添加CWRsync密码文件D:CWRsyncrsyncd.secrets

rsyncd:rsyncd //用户:密码

以上都是win2003的操作,下面是linux下的操作

4.添加rsync密码文件,这样linux定时rsync目录到win2003时就不需要输入密码

代码如下复制代码# cat /root/rsyncd.secrets

rsyncd //直接输入密码

5.修改crontab,定时激发rsync同步

代码如下复制代码

# crontab -e //添加以下内容

10 3 * * * rsync -vrlptD --progress --password-file=/root/rsyncd.secrets /home/www/data rsyncd@192.168.45.2::www

25 3 * * * rsync -vrlptD --progress --password-file=/root/rsyncd.secrets /home/mysql/data rsyncd@192.168.45.2::mysql

40 3 * * * rsync -vrlptD --progress --password-file=/root/rsyncd.secrets /home/svn rsyncd@192.168.45.2::svn

附录:

附录1.在linux端运行# rsync -avrtopg --progress --password-file=/root/rsyncd.secrets /home/www/data rsyncd@192.168.45.2::rsyncd会出现password file must not be other-accessible

continuing without password file

password:

问题password file must not be other-accessible已经回答了,保存密码的文件/root/rsyncd.secrets不应该被其它用户可读,

# chmod 600 /root/rsyncd.secrets //修改权限为600即可

篇4:linux中用rsync同步备份文件配置方法linux操作系统

rsync同步工具不分平台的,你在windows下也可以使用它,也可以使用rsync与windows系统进行同步或linux与win系统进行数据同步,配置也很简单,

linux rsync同步设置

rsync是一款数据镜像备份工具,可以保持两个服务器间数据同步,用得最多的场景就是备份数据了。

安装方法如下:

安装

在UBUNTU下安装RSYNC通过以下步骤可以实现:

代码如下复制代码$ sudo apt-get install rsync xinetd

配置

1. 编辑/etc/default/rsync 启动rsync作为使用xinetd的守护进程

代码如下复制代码$ sudo vim /etc/default/rsync

RSYNC_ENABLE=inetd

2. 创建 /etc/xinetd.d/rsync 通过xinetd使rsync开始工作

代码如下复制代码

$ sudo vim /etc/xinetd.d/rsync

service rsync

{

disable        = no

socket_type    = stream

wait           = no

user           = root

server         = /usr/bin/rsync

server_args    = --daemon

log_on_failure += USERID

}

3. 创建 /etc/rsyncd.conf 配置rsync使其在.

代码如下复制代码

$ sudo vim /etc/rsyncd.conf

max connections = 2

log file = /var/log/rsync.log

timeout = 300

[share]

comment = Public Share

path = /home/share

read nly = no

list = yes

uid = nobody

gid = nogroup

auth users = user

secrets file = /etc/rsyncd.secrets

4. 创建 /etc/rsyncd.secrets 配置用户名和密码.

代码如下复制代码

$ sudo vim /etc/rsyncd.secrets

user:password

4.a

代码如下复制代码

$ sudo chmod 600 /etc/rsyncd.secrets

5. 启动/重启 xinetd

代码如下复制代码

$ sudo /etc/init.d/xinetd restart

测试

运行下面的命令检查,确认rsync配置成功,

代码如下复制代码

$ sudo rsync user@192.168.0.1::share

Password:

drwxr-xr-x       4096 /12/13 09:41:59 .

drwxr-xr-x       4096 2006/11/23 18:00:03 folders

如果没成功,几点注意一下:

代码如下复制代码

/etc/rsyncd.conf:

auth users = user

后面的user是被授权可以访问这个module的用户,需要与/etc/rsyncd.secrets里对应。

远程同步:

代码如下复制代码

sudo rsync -arlHptgzqh --delete --delay-updates --progress fhp@serverip::share --password-file=/etc/rsync_password /media/Server/server1/home

/etc/rsync_password

只需要填密码就可以了

遗憾的是rsync同步工作并不能自动检测目录是否有文件更新或更改然后自动同步,而需要我们在系统的计划任务中进行同步操作。

篇5:rsync同步指定多文件目录方法linux操作系统

本文章来给大家介绍关于rsync同步指定多文件目录方法,希望此文章对各位朋友会有所帮助哦,

说明:

使用rsync -av --exclude=upload /home/mysql/backup /home/mysql/backup2/ 只能排除upload文件/目录。但如果要排除多个文件/目录,就需要新建个exclude.list,然后rsync -av --exclude-from=“exclude.list”指定不需要同步的文件/目录

实现:

代码如下复制代码

# rsync -av --exclude-from=/root/exclude.list /home/mysql/backup /home/mysql/backup2/

//将/home/mysql/backup目录拷贝到/home/mysql/backup2目录下,/root/exclude.list中指定文件不拷贝。

注意exclude.list里面填写要排除的文件/目录,一行一个,直接写文件名即可。

所以如果要排除a,b.1,b.2,tmp/g,那么exclude.list里就应该写

代码如下复制代码

a

b.*

tmp/g

而不是填写以下完整url,

不然这样还是会同步a,b.1,b.2,tmp/g

代码如下复制代码

/home/mysql/backup/a

/home/mysql/backup/b.*

/home/mysql/backup/tmp/g

当然以下这种写法也是会同步a,b.1,b.2,tmp/g文件的,也是有问题

代码如下复制代码

./home/mysql/backup/a

./home/mysql/backup/b.*

./home/mysql/backup/tmp/g

附录:

代码如下复制代码--exclude=PATTERN exclude files matching PATTERN

--exclude-from=FILE read exclude patterns from FILE

--include=PATTERN don't exclude files matching PATTERN

--include-from=FILE read include patterns from FILE

篇6:linux中rsync异步服务器实现文件同步与备份linux操作系统

rsync是一个非常好用的文件同步软件它可以实现不同服务器之间文件实时备份功能,它比起我们常用的ftp要强大的多了,rsync可以实现文件有更新或有新文件就会自动备份到指定机器中去哦,下面我来给大家介绍一个例子,

Rsync 非常适合在两台机器之间快速同步大型、复杂的目录,例如论坛的附件目录。再配合 ssh ,则安全性也有保证,且可以利用 ssh public key 和 cron 来进行自动定时同步。

说明:两台机器分别为 localhost 和 remotehost ;用户分别为 localuser 和 remoteuser。

环境:FreeBSD 4.9 和 FreeBSD 6.1

代码如下复制代码

设置 ssh public key 认证

$ssh-keygen -t dsa -b 2048

生成所需的密钥

$scp /home/localuser/.ssh/id_dsa.pub remoteuser@remotehost:/home/remoteuser/.ssh/localuser_id_dsa.pub

将公钥拷贝至 remotehost

$ssh remoteuser@remotehost

登录到?端

代码如下复制代码$cd .ssh/ ; cat localuser_id_dsa.pub >>authorized_keys

至此,设置 ssh 认证完毕。

设置 rsync

确认两端机器都安装 rsync , freeBSD 有 ports ,安装非常方便,

写个脚本名为 backup.sh ,内容如下:

代码如下复制代码#!/bin/sh

RSYNC=/usr/local/bin/rsync

SSH=/usr/bin/ssh

KEY=/home/localuser/.ssh /id_rsa

RUSER=remoteuser

RHOST=remotehost

RPATH=/remote/dir

LPATH=/this/dir

$RSYNC -az—delte -e “$SSH -i $KEY” $RUSER@$RHOST:$RPATH $LPATH

-a 选项相当于选项 -rlptgoD 。简单来讲,此选项可递归并将几乎所有的东西同步过去,非常有用。注意的是, -a 默认不会保存 hardlinks ,不过可以单独用 -H 选项来实现。

-z 选项在传输中压缩文件,这无疑加快同步速度。

-delete 选项会删除接受方一些不应存在的文件,此文件在发送方已经被删除,这将保持目录完全同步。

让 cron 每天凌晨1点来跑这个脚本

代码如下复制代码$crontab -e

0 1 * * * /home/localuser/bin/backup.sh

友情提示

rsync是没有自动启动同步功能了,如果我们要定时去备份一个网站数据我们就需要用到定时功能了,上面的例子来使用到了linux中$crontab命令来定时执行备份数据脚本了哦。

篇7:Linux下Apache支持中文路径或文件配置linux操作系统

在linux中apache是无法访问中文文件名或目录的,那么我们要如何才能让Apache支持中文路径或文件呢,我们可以用一个插件即可解决,

下载一个模块

代码如下复制代码wget ftp://ftp.aconus.com/fc5/mod_encoding/mod_encoding-2.2.0-1.i386.tar.gz

tar zxf mod_encoding-2.2.0-1.i386.tar.gz

rpm -ivh mod_encoding-2.2.0-1.i386.rpm

重启apache

代码如下复制代码/etc/init.d/httpd restart

报错如下

代码如下复制代码

httpd: Syntax error on line 61 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_encoding.so into server: libiconv_hook.so.1: cannot open shared object file: No such file or directory

wget webdav.todo.gr.jp/download/mod_encoding-1209.tar.gz

cd mod_encoding-20021209/lib

./configure

make

make install

vi /etc/ld.so.conf

打开/etc/ld.so.conf文件,添加一行指向iconv_book的所在路径,即“/usr/local/lib”

代码如下复制代码# vi /etc/ld.so.conf

/usr/local/lib

# ldconfig

然后重启httpd 报错消失,

篇8:关于Linux系统中文件及文件夹权限笔记linux操作系统

chmod -R 777 dir/

-R 更改dir 目录及dir内所有子文件和文件夹

777 指将“文件所属用户、所属用户组、其它用户”改为读、写、执行。

【linux系统下rsync文件同步配置工作笔记linux操作系统】相关文章:

1.linux下使用rsync实现文件目录同步linux操作系统

2.linux系统中SSH传送文件命令linux操作系统

3.linux中Cent OS SVN 服务配置学习笔记linux操作系统

4.linux系统怎么批量查找文件与文件内容linux操作系统

5.ubuntu系统中文件和内容查找命令总结linux操作系统

下载word文档
《linux系统下rsync文件同步配置工作笔记linux操作系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度: 评级1星 评级2星 评级3星 评级4星 评级5星
点击下载文档

文档为doc格式

linux系统下rsync文件同步配置工作笔记linux操作系统相关文章
最新推荐
猜你喜欢
  • 返回顶部