远程备份
NFS
系统默认已经安装了NFS软件包,如果手工安装NFS,需要5个RPM包。
setup-*: 共享NFS目录在/etc/exports中定义
initscripts-*: 包括引导过程中装载网络目录的基本脚本
nfs-utils-*: 包括基本的NFS命令与监控程序
portmap-*: 支持安全NFS RPC服务的连接
quota-*: 网络上共享的目录配额,包括
rpc.rquotad (这个包不是必须的)
可以使用下面命令查看系统是否已经安装了某个软件包。
#rpm –qa |grep setup
2、配置NFS
编辑/etc/exports,在文件中列出,要共享的目录。书写规则是:(每个共享规则一行)
共享目录 主机(参数)
rw: 可读写的权限;
ro: 只读的权限;
no_root_squash: 登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT的权限root_squash: 在登入 NFS 主机使用目录的使用者如果是 root 时,那么这个使用者的权限 将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个身份;
all_squash: 不管登陆NFS主机的用户是什么都会被重新设定为nobody。
anonuid: 将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中。
anongid: 同 anonuid ,但是变成 group ID 就是了!
sync: 资料同步写入存储器中。
async: 资料会先暂时存放在内存中,不会直接写入硬盘。
insecure 允许从这台机器过来的非授权访问。
exportfs命令:
这个时候我们就可以用exportfs命令来使改动立刻生效,该命令格式如下:
exportfs [-aruv] 参数的意义如下:
-a :全部mount或者unmount /etc/exports中的内容
-r :重新mount /etc/exports中分享出来的目录
-u :umount 目录
-v :在 export 的时候,将详细的信息输出到屏幕上
root @test root]# exportfs –rv 全部重新 export 一次!
客户端配置
#mount -t nfs 192.168.70.50:/opt /mnt/disk1
Rsync
优化的流程,文件传输效率高。
可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
支持匿名传输,以方便进行网站镜象。
Rsync是一个远程数据同步工具,可通过LAN 或互联网快速同步多台主机间的文件。
Rsync 本来是用以取代 rcp的一个工具,它当前由 rsync.samba.org 维护。Rsync 使用所谓的”Rsync演算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
Rsync 的特色:
快速:第一次同步时 rsync 会复制全部内容但在下一次只传输修改过的文件。
安全:rsync 允许通过 ssh 协议来加密传输数据。
更少的带宽:rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。
特权:安装和执行 rsync 无需特别的权限
在本地机器上对两个目录进行同步
$ rsync -zvr /var/opt/installation/inventory/ /root/temp
参数:-z 开启压缩 -v 详情输出 -r 表示递归
利用 rsync -a 让同步时保留时间标记
$ rsync -azv /var/opt/installation/inventory/ /root/temp/
从本地同步文件到远程服务器
$ rsync -avz /root/temp/ [email protected]:/home/thegeekstuff/temp/
同步远程文件到本地
$ rsync -avz [email protected]:/var/lib/rpm /root/temp
同步时指定远程 shell
用 -e 参数可以指定远程 ssh ,比如用 rsync -e ssh 来指定为 ssh
$ rsync -avz -e ssh [email protected]:/var/lib/rpm /root/temp
不要覆盖被修改过的目的文件
$ rsync -avzu [email protected]:/var/lib/rpm /root/temp
仅仅同步目录权(不同步文件)
使用 -d 参数
$ rsync -v -d [email protected]:/var/lib/ .
查看每个文件的传输进程
使用 – -progress 参数
$ rsync -avz – -progress [email protected]:/var/lib/rpm/ /root/temp/
删除在目的文件夹中创建的文件
用 – -delete 参数
$ > new-file.txt
$ rsync -avz – -delete [email protected]:/var/lib/rpm/
不要在目的文件夹中创建新文件
有时能只想同步目的地中存在的文件,而排除源文件中新建的文件,可以使用 – -exiting 参数
$ rsync -avz –existing [email protected]:/var/lib/rpm/ . [email protected]′s
查看源和目的文件之间的改变情况
用 -i 参数
$ rsync -avzi [email protected]:/var/lib/rpm/ /root/temp/
不要传输大文件
使用 – - max-size 参数
$ rsync -avz – -max-size=’100K’ [email protected]:/var/lib/rpm/ /root/temp/
传输所有文件
不管有没有改变,再次把所有文件都传输一遍,用 -W 参数
# rsync -avzW [email protected]:/var/lib/rpm/ /root/temp