Linux 下,不同服务器之前的数据copy是很常见的操作。 常见的copy命令有scp 和cp。 但是对于一些重要的文件,如数据库的备份文件,在copy之后,我们还需要对copy之后的文件进行一下效验, 以免在copy过程中的丢失。 造成无法恢复数据。

常见的效验有如下2种方式:

1. 比较文件大小

用ll或者ls 命令分别查看一下copy之前和copy之后的文件大小。

[root@singledb backup]# ll

total 639820

-rw-r----- 1 oracle oinstall  18150400 Dec  7 19:50 arch_0hluu1q6_1_1_20101207

-rw-r----- 1 oracle oinstall   9810432 Dec  7 19:50 arch_0iluu1q7_1_1_20101207

-rw-r----- 1 oracle oinstall     32256 Dec  7 19:50 arch_0jluu1qu_1_1_20101207

-rw-r----- 1 oracle oinstall  15335424 Dec  7 19:50 ctl_file_0kluu1sf_1_1_20101207

-rw-r----- 1 oracle oinstall 371933184 Dec  7 19:54 orcl_0eluu1aa_1_1_20101207

-rw-r----- 1 oracle oinstall 223895552 Dec  7 19:56 orcl_0fluu1ac_1_1_20101207

-rw-r----- 1 oracle oinstall  15335424 Dec  7 19:56 orcl_0gluu1ks_1_1_20101207

[root@singledb backup]# ls -lrt

total 639820

-rw-r----- 1 oracle oinstall  18150400 Dec  7 19:50 arch_0hluu1q6_1_1_20101207

-rw-r----- 1 oracle oinstall     32256 Dec  7 19:50 arch_0jluu1qu_1_1_20101207

-rw-r----- 1 oracle oinstall   9810432 Dec  7 19:50 arch_0iluu1q7_1_1_20101207

-rw-r----- 1 oracle oinstall  15335424 Dec  7 19:50 ctl_file_0kluu1sf_1_1_20101207

-rw-r----- 1 oracle oinstall 371933184 Dec  7 19:54 orcl_0eluu1aa_1_1_20101207

-rw-r----- 1 oracle oinstall 223895552 Dec  7 19:56 orcl_0fluu1ac_1_1_20101207

-rw-r----- 1 oracle oinstall  15335424 Dec  7 19:56 orcl_0gluu1ks_1_1_20101207

2. 使用md5sum命令

2.1  MD5 效验介绍

  MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。

  Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。这种变换只与字节的值有关,与字符集或编码方式无关。

  MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字节串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字节串有无穷多个,这有点象不存在反函数的数学函数。

   MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。

  MD5还广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的, 用户Login的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,而系统并不“知道”用户的密码是什么。

  一些黑客破获这种密码的方法是一种被称为“跑字典”的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用MD5程序计算出这些字典项的MD5值,然后再用目标的MD5值在这个字典中检索。

  即使假设密码的最大长度为8,同时密码只能是字母和数字,共26+26+10=62个字符,排列组合出的字典的项数则是P(62,1)+P (62,2)….+P(62,8),那也已经是一个很天文的数字了,存储这个字典就需要TB级的磁盘组,而且这种方法还有一个前提,就是能获得目标账户的密码MD5值的情况下才可以。

  

2.2 一个简单的演示:

[root@singledb backup]# which md5sum

/usr/bin/md5sum

创建一个文件

[root@singledb backup]# touch tianlesoftware.dba

查看MD5 值

[root@singledb backup]# md5sum tianlesoftware.dba

d41d8cd98f00b204e9800998ecf8427e  tianlesoftware.dba

将MD5值保存到某个文件

[root@singledb backup]# md5sum tianlesoftware.dba  > tianlesoftware.md5

修改tianlesoftware.dba 文件

[root@singledb backup]# cat tianlesoftware.dba

I AM DBA!

查看修改之后的MD5值

[root@singledb backup]# md5sum tianlesoftware.dba

f040ad46d094e8295533585474d33b50  tianlesoftware.dba

他们的值不一样了,从这个值,可以判断文件有没有变化。

关于MD5SUM命令的更多用法,参考帮助:

[root@singledb backup]# man md5sum

MD5SUM(1)                        User Commands                       MD5SUM(1)

NAME

md5sum - compute and check MD5 message digest

SYNOPSIS

md5sum [OPTION] [FILE]...

DESCRIPTION

Print  or  check  MD5  (128-bit)  checksums.  With no FILE, or when FILE is -, read

standard input.

-b, --binary

read in binary mode

-c, --check

read MD5 sums from the FILEs and check them

-t, --text

read in text mode (default)

The following two options are useful only when verifying checksums:

--status

don’t output anything, status code shows success

-w, --warn

warn about improperly formatted checksum lines

--help display this help and exit

--version

output version information and exit

The sums are computed as described in RFC 1321.  When checking, the input should be

a  former  output of this program.  The default mode is to print a line with check-

sum, a character indicating type (‘*’ for binary, ‘ ’ for text), and name for  each

FILE.

AUTHOR

Written by Ulrich Drepper, Scott Miller, and David Madore.

REPORTING BUGS

Report bugs to <bug-coreutils@gnu.org>.

COPYRIGHT

Copyright © 2006 Free Software Foundation, Inc.

This  is  free  software.  You may redistribute copies of it under the terms of the

GNU General Public License  <http://www.gnu.org/licenses/gpl.html>.   There  is  NO

WARRANTY, to the extent permitted by law.

SEE ALSO

The  full  documentation for md5sum is maintained as a Texinfo manual.  If the info

and md5sum programs are properly installed at your site, the command

info md5sum

should give you access to the complete manual.

md5sum 5.97                        July 2009                         MD5SUM(1)

[root@singledb backup]#

------------------------------------------------------------------------------

Blog: http://blog.csdn.net/tianlesoftware

网上资源: http://tianlesoftware.download.csdn.net

相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群:62697716(满); DBA2 群:62697977(满)

DBA3 群:62697850   DBA 超级群:63306533;

聊天 群:40132017

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

转载于:https://www.cnblogs.com/tianlesoftware/archive/2010/12/22/3609864.html

Linux下 数据文件 效验问题相关推荐

  1. linux共享文件丢失,【干货分享】linux平台下数据文件被误删后,如何及时得知并进行恢复...

    原标题:[干货分享]linux平台下数据文件被误删后,如何及时得知并进行恢复 我们知道在windows平台下,一旦文件在程序中打开,则不能被删除,所以不存在误删数据文件的情况,如下图所示. 但是在LI ...

  2. Linux下各文件夹的结构说明及用途介绍(转载)

    linux下各文件夹的结构说明及用途介绍: /bin:二进制可执行命令. /dev:设备特殊文件. /etc:系统管理和配置文件. /etc/rc.d:启动的配 置文件和脚本. /home:用户主目录 ...

  3. linux 下删除文件的 操纵

    linux   下删除 文件的 方法::: 1-  remove remove(删除文件) 相关函数 link,rename,unlink 表头文件 #include<stdio.h> 定 ...

  4. Linux下查看文件内容

    Linux下查看文件内容的命令 1.cat 与 tac.nl cat的功能是将文件从第一行开始连续的将内容输出在屏幕上.但是当文件过大行数比较多时,屏幕无法全部容下时,只能看到一部分内容. cat [ ...

  5. linux 访问文件软件,Linux下访问文件的基本模式

    Linux下访问文件的基本模式 发表于:2013-10-09来源:IT博客大学习作者:edsionte点击数: 访问文件的操作主要是指读文件和写文件,下文简单说明内核中几种常见的访问文件的方式. 访问 ...

  6. linux 文件权限 rwt,Linux下修改文件权限(所有权)

    Linux与Unix是多用户操作系统,所以文件的权限与所有权的实现就显得很有必要:每个文件主要与三组权限打交道,分别是用户(user),用户组(group),其他用户(other) 用户(u)是文件的 ...

  7. linux系统电脑的权限设置,Linux下的文件权限设置修改详解linux操作系统 -电脑资料...

    在linux中更改所属用户组是使用chgrp,更改文件拥有者, chown,更改9个属性, chmod这三种常用的问题,在linxu中这三个命令就是对文件目录权限的控制命令了,下面我来介绍它们的用法与 ...

  8. linux下的文件及目录介绍

    /dev,设备: /proc - proc文件系统所需目录: /etc,系统配置文件: /sbin,重要的系统程序: /bin,基本应用程序: /lib,共享函数库: /mnt,装载其他 磁盘节点: ...

  9. linux下怎么批量命名文件,linux下的文件操作——批量重命名

    概述:在日常工作中,我们经常需要对一批文件进行重命名操作,例如将所有的jpg文件改成bnp,将名字中的1改成one,等等.文本主要为你讲解如何实现这些操作 1.删除所有的 .bak 后缀: renam ...

最新文章

  1. 【原创】ListView快速滚动至新添加一行(自动滚动)
  2. 总是听别人说响应式布局,原来这么简单
  3. 在线编译工具 Jenkins Hudson 的关系
  4. 《iOS应用软件设计之道》—— 2.11 小结
  5. 分布式事务最终一致看这篇“大白话”的实践
  6. 【cocos2d-x从c++到js】06:Google的继承写法解析
  7. GBin1专题之Web热点秀#15
  8. 大数据和人工智能的关系是什么?
  9. 不要在foreach循环里进行元素的remove/add操作。remove元素请使用iteratot方式,如果并发操作,需要对Iterator对象加锁
  10. unique去除重复的向量_R语言向量与因子
  11. 【java】深入分析Java反射-动态代理 proxy
  12. 如何将自己的代码自动添加版权信息[转]
  13. quickserver java_QuickServer--在吵闹的环境里快速搭建自己的TcpServer(Pragmatic系列) - java - CSDN技术中心...
  14. php5.3.3以后php-fpm进程管理方式
  15. lsoci mysql_【MySQL】InnoDB日志机制深入分析
  16. Android音视频之协议介绍
  17. PC端浏览器兼容测试总结
  18. 最实用的IT类网站及工具大集合[转]
  19. 编程领域名词:魔法数值、魔法数字、魔法值
  20. Buuctf -web wp汇总(三)

热门文章

  1. 使用Java处理除法运算的陷阱
  2. 网站的高性能架构--web前端优化
  3. 相机上的AE AF AWB AEB都表示的是什么?
  4. C++中类成员函数的重载、覆盖和隐藏的区别,超清楚!
  5. 常考数据结构与算法:删除链表的倒数第n个节点
  6. jsp:请求转发和重定向
  7. 剑指offer一:二维数组中的查找
  8. python十三:函数
  9. win10家庭版远程桌面连接出现身份验证错误
  10. springboot2自定义HttpTraceRepository