随着互联网的发展,数据备份的需求越来越强烈。而对于企业来说,数据安全的重要性更是不言而喻。为了保护重要数据的安全,备份的工作也变得不可或缺。而在备份方案的选择上,Linux Rsync已经成为了备份的首选方案之一,它可以实现异地备份,对于企业来说备份的可靠性大大提高。
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的长垣网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
Rsync是一个数据同步工具,常用于备份文件,支持复杂的过滤规则,可以使用SSH或RSH协议保证数据同步的安全性。在Linux系统中,Rsync已经被广泛使用,因为它不仅可以节省磁盘空间,而且可以为数据的传输提供更稳定和快速的通道。本文将会详细介绍如何配置Rsync实现Linux系统的异地备份。
一、环境准备
在使用Rsync进行备份时,需要准备两台Linux服务器。一台作为源服务器(也称为主机),另一台则是目标服务器(也称为备用机)。这两台服务器需要在同一个网络中,并且应该彼此可以访问。
二、安装Rsync
如果你的Linux系统中没有安装Rsync,那么需要执行以下命令来安装:
Ubuntu/Debian系统:
sudo apt-get install rsync
CentOS/Fedora系统:
sudo yum install rsync
安装完成后,可以通过以下命令查看Rsync的版本信息:
rsync –version
如果出现了类似于下图的输出,那么说明Rsync已经成功安装:
三、配置SSH
在Linux系统中,SSH协议是非常安全的远程登录协议。在备份数据时,我们可以使用SSH协议来保证数据传输的安全性。因此,我们需要确保目标服务器可以通过SSH协议访问源服务器。
首先需要在源服务器上安装OpenSSH。如果已安装OpenSSH,则跳过此步骤。
Ubuntu/Debian系统:
sudo apt-get install openssh-server
CentOS/Fedora系统:
sudo yum install openssh-server
安装完成后,需要修改sshd_config文件,设置SSH服务可以被远程访问。执行以下命令进行修改:
sudo vi /etc/ssh/sshd_config
找到以下两行,并将注释符#删去:
PermitRootLogin yes
PasswordAuthentication yes
修改完成后,保存并退出。
然后,需要重启SSH服务,执行以下命令:
sudo systemctl restart sshd
接着,在目标服务器上安装SSH客户端,如果已安装则跳过此步骤。
Ubuntu/Debian系统:
sudo apt-get install openssh-client
CentOS/Fedora系统:
sudo yum install openssh-clients
安装完成后,可以通过执行以下命令来连接到源服务器:
ssh user@source_server_ip
其中,user应该替换为源服务器的用户名,source_server_ip替换为源服务器的IP地址。
如果连接成功,就说明SSH协议已经配置好了。
四、配置Rsync
在源服务器上创建一个备份目录,并确保对该目录有写权限,然后将需要备份的文件和目录复制到这个备份目录中。在这里,我们以/home/user/backup目录作为备份目录。
在目标服务器上,也需要创建一个备份目录。设置对此目录有写权限,并确保目标服务器可以访问源服务器。在这里,我们以/home/user/backup目录作为备份目录。
然后,在源服务器上创建一个Rsync配置文件,以便在备份时使用。可以使用任何文本编辑器来创建此文件。可以将此文件保存在/etc/rsyncd.conf目录中,也可以保存在任何其他目录中。
在Rsync配置文件中,需要定义需要备份的目录、服务器信息和备份目录的位置。可以按照以下格式来定义需要备份的目录:
[backup]
path = /home/user/backup
comment = “backup directory”
其中,backup是一个自定义的备份名称,path是需要备份的目录的路径,comment是对备份目录的描述信息。
接下来,需要设置目标服务器的IP地址和备份目录的位置,例如:
[backup]
path = /home/user/backup
comment = “backup directory”
hosts allow = target_server_ip
uid = rsyncuser
gid = rsyncuser
其中,target_server_ip是目标服务器的IP地址,uid和gid表示要将备份文件的所有权设置为rsyncuser。这将确保在备份后,目标服务器上的所有备份文件都属于rsyncuser用户。
需要设置备份的模式和过滤规则。可以按照以下模板来设置:
[模式]
path = /path/to/source/directory
exclude = file1, file2, …
include = file3, file4, …
delete = true
auth users = username
secrets file = /path/to/secrets/file
其中,模式可以是read only、read write或list等。path是需要备份的源目录。exclude是需要排除的文件或目录的列表。include是需要包括的文件或目录的列表。delete表示是否删除在目标服务器上已删除的文件。auth users是需要验证的用户名。secrets file指定的文件包含用于验证访问用户的密码。
五、启动Rsync备份
在所有的配置都完成后,我们可以使用以下命令来启动Rsync备份:
sudo rsync -vzrtopg –progress –delete -a -H –delete-after –exclude-from=excludes.txt /home/user/backup/ rsyncuser@target_server_ip:/home/user/backup
其中,/home/user/backup是源目录,rsyncuser是目标服务器的用户名,target_server_ip是目标服务器的IP地址。
六、结语
使用Linux Rsync可以轻松实现异地备份,保护数据的安全。在本文中,我们讲解了如何在Linux中配置Rsync备份方案的完整过程。起来,只需要进行以下步骤即可:
准备两台Linux服务器,并确保在同一网络中。
安装Rsync和OpenSSH,创建备份目录,配置并启动Rsync备份。
相关问题拓展阅读:
1.Linux下目录复制:本机->远程服务器scp -r /home/shaoxiaohu/test1 :/home/test2 #test1为源逗伏目录,test2为目标目录,。2.Linux下目录复制:远程服务器->本机正指信scp -r :/home/test2 /home/shaoxiaohu/test1,test1为源目录,test2为目标目录。注:如果端口号有更改,需在scp 后输入:-P 端口号 (注意是大写,ssh的命令中 -p是小写)
1、你可以在数据库A做计划任务,用exp或者expdp导出,然后scp或者rsync到服务器B
例如计划任务0 0 * * * /data1/backup/expdp_db_bak.sh;
expdp_db_bak.sh内容:
#!/bin/sh
. ~/.bash_profile
dst=/data1/backup/db_bak
today=`date +%F`
bakfile=expdp_db_${today}.dmp
logfile=expdp_db_${today}.log
expdp ‘user01/778899’ DIRECTORY=expdp_dir1 parallel=2 \
dumpfile=$bakfile SCHEMAS=user01 logfile=$logfile COMPRESSION=all
scp -P22 $bakfile :/data1/backup/db_bak
exit 0;
2、带坦也可以在服务器B用exp直接导出数据
exp ‘user01/778899@DB01’ file=$bakfile FULL=Y log=bak.log
3、开启归档模式,在服务器A用rman 做全备或增量蠢灶桐备份,然后将备份同步到服务器B
指定路径
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT ‘/data1/rman/full_%d_%U’辩悔;
全备份,默认Format
backup incremental level 0 database;
增量备份
backup incremental level 1 database;
将备份rsync 到服务器B
/usr/bin/rsync -av ‘-e ssh -p 22’ :/data1/rman /data1
4、开启归档模式,在服务器AB间配置DATAGURAD,同步数据
dataguard,stream replication,goldengate…..
方法很多,看你具体需求了
1、首先要设置一台rsync服务器比如A服务器,否则2个都是客户机无法传递,还不如scp
2、B服孝清码务器的test目录权限一定要开放,更好是777
3、rsync有6种状态,可以从A到B,也可以从B到A,升值可以从A到B,C,D等等
4、rsync的语句结构是:rsync … SRC …
你可以man或rsync –help看一下关于option,给你个使用rsync语句2台服务器同步的实例:rsync -vazu –progress –password-file=/etc/rsyncd.secrets ::Samba /home/Samba/
解释:-vazu v代巧哪表详细输出 a代表归档 z代表压缩传递 u代表只更新改正困动的地方
progress显示传输过程
–password表示可以选择后面的密码文件去自动匹配密码
还可以加上 –delete选项,将服务器没有的内容删除等等,选项很多,用法灵活,再配合crontab可以实现自动同步备份。
rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一详细说明
在对rsync服务器配置结束以后,下一步就需要在客户端发出rsync命令来实现将服务器端的文件备份到客户端来。rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项碧悉一一进行分析说明。
Rsync的命令察慧指格式可以为以下六种:
rsync … SRC DEST
rsync … SRC HOST:DEST
rsync …
HOST:SRC DEST
rsync … HOST::SRC DEST
rsync
… SRC HOST::DEST
rsync …
对应于以上六种命令格式,rsync有六种不同的工作模式:
1)拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号”:”分隔符时就启动这种工作模式。如:rsync -a /data /backup
2)使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号”:”分隔符时启动该模式。如:rsync
-avz *.c foo:src
3)使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号”:”分隔符时启动该模式。如:rsync
-avz foo:src/bar /data
4)从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含”::”分隔符时启动该模式。如:rsync -av
::www /databack
5)从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含”::”分隔符时启动该模式。如:rsync -av /databack
::www
6)列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。如:rsync
-v
rsync参数的具体解释如下:
-v,
–verbose 详细模式输出
-q, –quiet 精简输出模式
-c, –checksum 打开校验开关,强制对文件传输进行校验
-a, –archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-r, –recursive
对子目录以递归模式处理
-R, –relative 使用相对路径信息
-b, –backup
创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用–suffix选项来指定不同的备份文件前缀。
–backup-dir 将备份文件(如~filename)存放在在目录下。
-suffix=SUFFIX 定义败配备份文件前缀
-u,
–update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
-l, –links 保留软链结
-L, –copy-links 想对待常规文件一样处理软链结
–copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结
–safe-links 忽略指向SRC路径目录树以外的链结
-H, –hard-links 保留硬链结
-p, –perms
保持文件权限
-o, –owner 保持文件属主信息
-g, –group 保持文件属组信息
-D, –devices
保持设备文件信息
-t, –times 保持文件时间信息
-S, –sparse 对稀疏文件进行特殊处理以节省DST的空间
-n,
–dry-run现实哪些文件将被传输
-W, –whole-file 拷贝文件,不进行增量检测
-x, –one-file-system
不要跨越文件系统边界
-B, –block-size=SIZE 检验算法使用的块尺寸,默认是700字节
-e, –rsh=COMMAND
指定使用rsh、ssh方式进行数据同步
–rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息
-C,
–cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件
–existing
仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件
–delete 删除那些DST中SRC没有的文件
–delete-excluded 同样删除接收端那些被该选项指定排除的文件
–delete-after 传输结束以后再删除
–ignore-errors 及时出现IO错误也进行删除
–max-delete=NUM 最多删除NUM个文件
–partial
保留那些因故没有完全传输的文件,以是加快随后的再次传输
–force 强制删除目录,即使不为空
–numeric-ids
不将数字的用户和组ID匹配为用户名和组名
–timeout=TIME IP超时时间,单位为秒
-I, –ignore-times
不跳过那些有同样的时间和长度的文件
–size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间
–modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0
-T –temp-dir=DIR
在DIR中创建临时文件
–compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份
-P 等同于 –partial
–progress 显示备份过程
-z, –compress 对备份的文件在传输时进行压缩处理
–exclude=PATTERN
指定排除不需要传输的文件模式
–include=PATTERN 指定不排除而需要传输的文件模式
–exclude-from=FILE
排除FILE中指定模式的文件
–include-from=FILE 不排除FILE指定模式匹配的文件
–version 打印版本信息
–address 绑定到特定的地址
–config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件
–port=PORT 指定其他的rsync服务端口
–blocking-io 对远程shell使用阻塞IO
-stats
给出某些文件的传输状态
–progress 在传输时现实传输过程
–log-format=formAT 指定日志文件格式
–password-file=FILE 从FILE中得到密码
–bwlimit=KBPS 限制I/O带宽,KBytes per second
-h, –help 显示帮助信息
linux rsync异地备份的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux rsync异地备份,Linux Rsync实现异地备份全攻略,如何把linux下的数据自动备份到异地的另一台win上,linux服务器中如何登陆另一台Linux服务器中的Oracle数据库进行全库备份?,Linux下rsync命令用法的信息别忘了在本站进行查找喔。
香港服务器选创新互联,2H2G首月10元开通。
创新互联(www.cdcxhl.com)互联网服务提供商,拥有超过10年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
文章标题:LinuxRsync实现异地备份全攻略(linuxrsync异地备份)
标题URL:http://www.shufengxianlan.com/qtweb/news22/230022.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联