linux系统下rsync文件同步配置工作笔记linux操作系统
“letwalk”通过精心收集,向本站投稿了8篇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 AS4A Server 192.168.0.100 /opt/web
B Server 192.168.0.60 /opt/web
一. A Server config
1.安装服务
代码如下复制代码yum install xinetdyum 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.confuid = 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 873tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN
tcp 0 0 :::873 :::* LISTEN
重启已经在运行的rsync
代码如下复制代码[root@mail video]# ps -ef | grep rsyncroot 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.pass3. 使用 rsync 命令连接服务器,实现文件同步
代码如下复制代码rsync -vzrtopg –progress –delete –password-file=/etc/rsync_client.pass backup@192.168.0.100::web /opt/webPS:目录同步时要保存相同的文件属主信息,需要在B服务器上创建相同的用户
代码如下复制代码rsync -qcazrtopgl –progress –delete –password-file=/etc/rsync_client.pass –exclude=”*.gz” –exclude-from=/opt/pcdir backup@192.168.0.100::web /opt/webbackup为认证用户名;
192.168.0.100为服务器端IP;
Web为模块名;
/opt/web 为本地的目录
三.定时任务
代码如下复制代码[root@localhost admin_backups]# vi backup.sh内容如下:
代码如下复制代码#/bin/shrsync -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.secretsrsyncd //直接输入密码
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/rsyncRSYNC_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/shRSYNC=/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 -e0 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.gztar 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操作系统
3.linux中Cent OS SVN 服务配置学习笔记linux操作系统






文档为doc格式