您的位置:首页 > 运维架构 > Linux

linux日常应用管理(2)---diff

2014-02-20 11:45 218 查看
今天公司老大突然来了个需求,以后每次更新补丁的时候,都需要把服务器上的资源文件(配置文件)拿下来与需要更新的资源文件进行比对,确认后再放上去。如果是1,2个的话,倒不是问题。win的下面这种工具很多,但是数量一多。确实很棘手。就想写个工具?不过我也不会C什么的。就写个脚本吧。cygwin(win下的访UNIX系统)基本上我都是用这个来进行win服务器的操作的。(个人习惯linux。。。)linux下有个工具diff比较工具,(different),和patch一起运用就是可以给差异文件打补丁。diff file1 file2 直接比较file1和file2的差别。
a--add,c--change,d--delete这里我只说几个有用的参数,diff -y -w file1 file2会将文件的对比差异信息输出在一行中许多参数可以通过man查询,我不一一做介绍。我的需求是需要将服务器上的文件夹resource拷贝到本地,然后将对应的新resource进行对比,压缩打包--->传送--->本地解压--->对比前几步不是这里的重点,略带一下。ssh Username@IP "tar zcvf $PATH/resource.tar.gz $PATH/resource"scp Username@IP:$PATH/resource.tar.gz $LOCAL_PATH/接下来就是重点了,diff是可以比对文件夹的,但是如果直接比对两个文件夹需要加上-r参数,diff -r directory1/ directory2/然后我想查看详细 可以输出到一个指定文件中,diff -r directory1/ directory2/ >> $LOCAL_PATH/diff.txt因为我有很多服务器的resource需要对比,所以将所有的resource对比都追加到diff.txt下面,方便确认。后来没事做了一下拓展。关于diff 和patch的运用。diff -Naur file.old file.new > file.patchpatch -pN < patch_file.patch 更新patch -R -pN < patch_file.patch 还原-pN N代表number,取消几层目录-R将新文件还原成旧文件

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux diff 应用 管理