Linux下 数据文件 效验问题

2024-04-04 03:32

本文主要是介绍Linux下 数据文件 效验问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

       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发明,经MD2MD3MD4发展而来。

  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]#

 

 

 

 

 

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

QQ:492913789

Email:ahdba@qq.com

Blog: http://www.cndba.cn/dave 


网上资源: 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表空间和数据文件的关系,否则拒绝申请

这篇关于Linux下 数据文件 效验问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/874690

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨削加工的精度。 转速范围 宽广的转速范围意味着平衡机能够处理更多种类的磨轮,适应不同的工作条件和规格要求。 振动监测能力 振动监测能力是评估平衡机性能的重要因素。通过传感器实时监

缓存雪崩问题

缓存雪崩是缓存中大量key失效后当高并发到来时导致大量请求到数据库,瞬间耗尽数据库资源,导致数据库无法使用。 解决方案: 1、使用锁进行控制 2、对同一类型信息的key设置不同的过期时间 3、缓存预热 1. 什么是缓存雪崩 缓存雪崩是指在短时间内,大量缓存数据同时失效,导致所有请求直接涌向数据库,瞬间增加数据库的负载压力,可能导致数据库性能下降甚至崩溃。这种情况往往发生在缓存中大量 k

6.1.数据结构-c/c++堆详解下篇(堆排序,TopK问题)

上篇:6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)-CSDN博客 本章重点 1.使用堆来完成堆排序 2.使用堆解决TopK问题 目录 一.堆排序 1.1 思路 1.2 代码 1.3 简单测试 二.TopK问题 2.1 思路(求最小): 2.2 C语言代码(手写堆) 2.3 C++代码(使用优先级队列 priority_queue)

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta