SAP MDG(Master>linux下如何成功增量备份?
主机需求:须要备份文件的主机(主机端):192.168.10.2 (RHEL 5)接纳备份文件的主机(客户端):192.168.10.3 (RHEL 5)成功性能:经过rsync工具对turbomail邮件主机的accounts目录和conf目录启动增量备份。
accounts目录:用于存储用户关系消息的目录conf目录:用户性能文件寄存目录前提条件:先将turbomail邮件系统装置好(主机端与客户端操作一样)装置环节如下:1、挂载光驱:mount /dev/cdrom2、将turbomail的装置包拷贝到跟目录下/#cd /dev/cdrom#cp turbomail_linux_x86_3、解压turbomail装置包tar –zxvf turbomail_linux_x86_4、启动turbomail#cd /turbomail#./#cd /turbomail/web/bin/#./ 5、修正启动脚本/etc/rc.d/ 使邮件主机开机智能启动添加以下几行:#/turbomail/ & #/turbomail/web/bin/ & #/turbomail/ &rsync的性能如下:1.主机端rsync的性能:经常使用系统自带的rsync工具,拔出系统启动光盘,经过rpm装置rsync工具。
若驳回驳回源码包装置,上行装置包到主机1)tar –zxvf #解压2)cd rsyncrsync-2.6.9 3)./configure #自动性能,生成编译环境4)make #编译5)make install #装置成功,任何步骤有不懂输入echo $?查前往值,0示意成功,其余都为失败rsync 版本 2.4.6(可以从取得最新版本) 1)编辑/etc/文件,rsync的关键性能文件:#[globale]strict modes= yes#check passwd fileport= 873 #rsync工具自动经常使用的端口#default portlogfile= /var/log/ #日志文件寄存门路pidfile= /var/run/ #记载rsync运转时的进程IDmax connections= 4 #同上最大的链接数#[modules] #同步模块的性能[rsync]uid= root #该选项指定当该模块传输文件时守护进程应该具备的uidgid= root #该选项指定当该模块传输文件时守护进程应该具备的gidignore errors #疏忽一些有关的失误消息#要备份的目录path= /turbomail/accounts #须要同步的目录read only= no #能否设置以只读的形式运转host allow= 192.168.10.3 #同步数据的客户端ip如有多个客户端,以“,”隔开即可auth users= zhouhw #同步用的用户名secrets file= /etc/ #同步的明码认证文件[test]uid= root #该选项指定当该模块传输文件时守护进程应该具备的uidgid= root #该选项指定当该模块传输文件时守护进程应该具备的gidignore errors #疏忽一些有关的失误消息#要备份的目录path= /turbomail/conf #须要同步的目录read only= no #能否设置以只读的形式运转host allow= 192.168.10.3 #同步数据的客户端ip如有多个客户端,以“,”隔开即可auth users= zhouhw #同步用的用户名secrets file= /etc/ #同步的明码认证文件2)编辑/etc/文件,明码认证文件zhouhw该更权限为600:chmod 600 /etc/ 3) 运转rsync --daemon,并在/etc/rc.d/添加此语句,开机智能启动。
备注:rsync自动端口873,若装置了iptables,如需改变启动时启动rsync –port 873,请在iptables 中开明该端口,语句如下:iptables -I INPUT -p tcp --dport 873 -j ACCEPT4)编辑/etc/xinetd.d/rsyncrsync服务的监听由xinet来一致调配:service rsync{disable = no #将此项改为nosocket_type = streamwait = nouser = rootserver = /usr/bin/rsyncserver_args = --daemonlog_on_failure += USERID}重启xinetd以启动rsync服务service xinetd restart5)检查rsync意外反常运转输入命令:netstat -ant|grep :873若有显示以下一条语句,则说明rsync服务曾经反常启动了。
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 2.客户端的性能:经常使用系统自带的rsync工具,拔出系统启动光盘,经过rpm装置rsync工具。
1)编辑/etc/文件,明码认证文件zhouhw该更权限为600:chmod 600 /etc/ 2)编辑脚本vi /root/scrpit/并添加开机智能启动。
#!/bin/sh /usr/bin/rsync -vazu --progress --delete zhouhw@192.168.10.2::rsync /turbomail --password-file=/etc/ zhouhw@192.168.10.2::test /turbomail --password-file=/etc/修正权限:chmod u+x /root/scrpit/口头./ 同步数据。
3)编辑/etc/crontab文件,定义为每小时30分钟口头一次性数据同步。
vi /etc/crontab# run-parts01 * * * * root run-parts /etc/ 02 4 * * * root run-parts /etc/ 22 4 * * 0 root run-parts /etc/ 42 4 1 * * root run-parts /etc/ 30 * * * * root /root/scrpit/客户端的性能到此就可以了,主机与客户端的数据也会在每小时的第30分钟口头一次性。
客户端同步命令详解: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的shell程序--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 指定其余的性能文件,不经常使用自动的文件--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 显示协助消息
Git和SVN的区别,哪个好
1) 最外围的区别Git是散布式的,而Svn不是散布的。
能了解这点,上手会很容易,申明一点Git并不是目前惟一的散布式版本控制系统,还有比如Mercurial等,所以说它们差不许多。
话说回来Git跟Svn一样有自己的集中式版本库和Server端,但Git更偏差于散布式开发,由于每一个开发人员的电脑上都有一个Local Repository,所以即使没有网络也一样可以Commit,检查历史版本记载,创立项 目分支等操作,等网络再次衔接上Push到Server端。
从下面看GIt真的很棒,然而GIt adds Complexity,刚开局经常使用会有些纳闷,由于须要建两个Repositories(Local Repositories & Remote Repositories),指令很多,除此之外你须要知道哪些指令在Local Repository,哪些指令在Remote Repository。
2)Git把内容按元数据形式存储,而SVN是按文件:由于,目录是处于你的机器上的一个克隆版的版本库,它领有中心版本库上一切的物品,例如标签,分支,版本记载等。
目录的体积大小跟比拟,你会发现它们差距很大。
3) Git没有一个全局版本号,而SVN有:目前为止这是跟SVN相比Git缺少的最大的一个特色。
4) Git的内容的完整性要优于SVN: GIT的内容存储经常使用的是SHA-1哈希算法。
这能确保代码内容的完整性,确保在遇到磁盘缺点和网络疑问时降落对版本库的破坏。
5) Git下载上去后,在OffLine形态下可以看到一切的Log,SVN无法以。
6) 刚开局用时很狗血的一点,SVN必定先Update能力Commit,遗记了兼并时就会出现一些失误,git还是比拟少的出现这种状况。
7) 克隆一份全新的目录以雷同领有五个分支来说,SVN是同时复制5个版本的文件,也就是说重复五次雷同的举措。
而Git只是失掉文件的每个版本的 元素,而后只载入关键的分支(master)在我的阅历,克隆一个领有将近一万个提交(commit),五个分支,每个分支有大概1500个文件的 SVN,耗了将近一个小时!而Git只用了区区的1分钟! 8) 版本库(repository):SVN只能有一个指定中央版本库。
当这个中央版本库有疑问时,一切上班成员都一同瘫痪直到版本库培修终了或许新的版本库设立成功。
而 Git可以有有限个版本库。
或许,更正确的说法,每一个Git都是一个版本库,区别是它们能否领有生动目录(Git Working Tree)。
假设关键版本库(例如:置於GitHub的版本库)出现了什麼事,上班成员依然可以在自己的本地版本库(local repository)提交,期待关键版本库复原即可。
上班成员也可以提交到其余的版本库! 9)分支(Branch)在SVN,分支是一个完整的目录。
且这个目录领有完整的实践文件。
假设上班成员想要开启新的分支,那将会影响“全环球”!每团体都会领有和你一样的分支。
假设你的分支是用来启动破坏上班(安检测试),那将会像传染病一样,你改一个分支,还得让其他人从新切分支从新下载,十分狗血。
而 Git,每个上班成员可以恣意在自己的本地版本库开启有限个分支。
举例:当我想尝试破坏自己的程序(安检测试),并且想保管这些被修正的文件供日后经常使用, 我可以开一个分支,做我青睐的事。
齐全不需担忧障碍其余上班成员。
只需我不兼并及提交到关键版本库,没有一个上班成员会被影响。
等到我不须要这个分支时, 我只需把它从我的本地版本库删除即可。
无痛无痒。
Git的分支名是可以经常使用不同名字的。
例如:我的本地分支名为OK,而在关键版本库的名字其实是master。
最值得一提,我可以在Git的恣意一个提交点(commit point)开启分支!(其中一个方法是经常使用gitk –all 可观察整个提交记载,而后在恣意点开启分支。
)10)提交(Commit)在SVN,当你提交你的成功品时,它将间接记载到中央版本库。
当你发现你的成功品存在重大疑问时,你曾经无法阻止事件的出现了。
假设网路终止,你基本没方法提交!而Git的提交齐全属於本地版本库的优惠。
而你只需“推”(git push)到关键版本库即可。
Git的“推”其实是在口头“同步”(Sync)。
最后总结一下:SVN的特点是便捷,只是须要一个放代码的中央时用是OK的。
Git的特点版本控制可以不依赖网络做任何事件,对分支和兼并有更好的支持(当然这是开发者最关心的中央),不过想各位能更好经常使用它,须要花点期间尝试下。