|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
数据备份与数据压缩
. X) _6 M" w5 T2 g) I/ _4 V0 Y- P' v- O5 B: D5 Z! X. b
1)数据备份. Y4 ^- j2 @$ X, Y6 i" [3 C
# y% f0 d& m6 [! K) w8 n; q& N9 p您可以通过多种方式备份数据甚至整个系统。这样做的基本方法包括使用cp进行简单复制或使用更强大的rsync。两者都可用于同步整个目录树。但是,rsync更有效,因为它检查正在复制的文件是否已存在。如果文件存在且大小或修改时间没有变化,rsync将避免不必要的复制并节省时间。此外,因为rsync只复制实际更改的文件部分,所以它可以非常快。cp只能复制本地计算机上的目标文件(除非您复制到使用NFS挂载的文件系统或从中复制),但 rsync也可用于将文件从一台计算机复制到另一台计算机。位置在target : path表单中指定,其中target 可以是someone@ host的形式。该someone@部分是可选的,如果远程用户是来自本地用户的不同使用。当递归地将一个目录树复制到另一个目录树时, rsync非常有效,因为只有差异通过网络传输。通常使用 -r选项将目标目录树与原点同步,以递归方式向下遍历目录树,将所有文件和目录复制到列为源的列表下方。/ n G% s5 N9 n& g6 t
$ `. d2 U5 U F; L. c* Q
. r t" p) A& b& H& P3 d
! j; a! M# M( H
rsync 是一个非常强大的实用程序。例如,备份项目目录的一种非常有用的方法可能是使用以下命令:; x) |, x3 D- X/ O' s
% Q8 Y( B# n8 r: T
$ rsync -r project-X archive-machine:archives / project-X
4 j; n* B, \5 s* C' T- y0 h, I' R# _0 Y# Z# X1 e6 ?
请注意,rsync 可能非常具有破坏性!意外滥用会对数据和程序造成很大的伤害,因为无意中将更改复制到了不需要的地方。注意指定正确的选项和路径。强烈建议您首先使用- dry-run选项测试rsync 命令,以确保它提供所需的结果。( \: J/ C( F6 S h {' i
/ w1 t# U$ O( A9 H2 I
要在命令提示符下使用 rsync ,请键入rsync sourcefile destinationfile,其中任一文件可以位于本地计算机上,也可以位于联网计算机上; sourcefile的内容 将被复制到destinationfile。
5 P% q X8 o3 U" Y! ]5 T
q7 ~* Q- W0 l4 v' Q选项的良好组合显示在:5 t( j% Y4 X5 J
) S9 ~5 f& b' L7 Y+ B& [$ rsync --progress -avrxH --delete sourcedir destdir
* Q4 r) Q9 N$ B P3 G& ^. R
/ r; q/ W. \ m/ e! H2)数据压缩
+ d5 L& f% {( w0 R5 `: H% U! u1 \7 E+ u. Z8 u
通常会压缩文件数据以节省磁盘空间并减少通过网络传输文件所需的时间。Linux使用许多方法来执行此压缩,包括:
2 }4 \% |# g# Z# s! z
7 R; \4 q3 T+ d
% M3 m! e% E- ]5 } `
2 w, L8 a2 r8 R2 o# G
这些技术的压缩效率(节省多少空间)和压缩时间有所不同; 通常,效率更高的技术需要更长时间。不同方法的减压时间变化不大。此外,tar 实用程序通常用于对存档中的文件进行分组,然后立即压缩整个存档。$ b" I$ E( ^+ ?, J4 v3 a
9 g- _! m" L4 ` q9 E$ G( L
a) gzip 是最常用的Linux压缩实用程序。它压缩得非常好并且非常快。下表提供了一些用法示例:
& Q9 S1 v4 f( A+ Y' p: Z; c
: C1 L2 g8 ?) ] N0 s5 A
5 D& V7 |8 Q: M& o
& w( d, d l( q5 H5 n( Lb) bzip2的语法类似于gzip,但它使用不同的压缩算法并生成明显更小的文件,代价是花费更长的时间来完成其工作。因此,它更可能用于压缩较大的文件。常见用法的例子也类似于 gzip:
( k$ z8 ]: q5 D$ M( j! T
8 I1 n9 Q0 S* T9 @, O' W& q
+ Y8 L& J: ^0 [( J# M
; a( h" F5 z) _3 ^ m9 Kc) xz 是Linux中使用的空间效率最高的压缩实用程序,压缩文件以.xz扩展名存储,现在用于存储Linux内核的存档。它再一次以较慢的压缩速度换取更高的压缩比。一些用法示例: / W2 D0 ]0 c" q6 W# I1 Q/ A
: k: |& T6 i5 I
& i. c9 u! r1 j5 D* B
1 E: F# X/ A5 sd) zip 程序不经常在Linux下使用压缩文件,但经常需要检查和其他操作系统解压缩档案。当您从Windows用户获取压缩文件时,它仅在Linux中使用。这是一个保留功能。
7 ?! o$ U1 _0 O2 g( k: x2 K \( O M) ?7 U
, |+ K% j5 r9 t! R# V' B/ n% z
& `% J2 z( Y4 k' B
e) 历史上,tar 代表“磁带存档”,用于将文件存档到磁带。它允许您从归档文件创建或提取文件,通常称为tarball。同时,您可以选择在创建存档时进行压缩,并在提取其内容时进行解压缩。以下是使用tar的一些示例:
# c1 ^1 x8 p7 y5 a1 z6 V( a( _4 q
3 F+ N9 V- Y7 I
/ Y; F Z; V% |. f$ }3 Y9 k
) [ w+ p( O. Y6 q9 ]您可以分离归档和压缩阶段,如下所示:+ l1 @1 e8 S7 h* d& C
7 d& t, t0 w+ I3 ? C$ tar cvf mydir.tar mydir; gzip mydir.tar
y/ e( @, r* t1 ? L" Y6 x4 ]$ gunzip mydir.tar.gz; tar xvf mydir.tar! W* T- F7 ?* t# ^. T
# M& l8 m0 c+ J& g但这样做速度较慢,并且创建了不需要的中间.tar文件 浪费空间。$ t/ m( H3 L' B/ d1 T4 K# A6 l
8 V( W0 d. C8 j9 zf) dd 工具是使原始磁盘空间复制非常有用的。例如,要备份主引导记录(MBR)(磁盘上包含描述该磁盘上分区的表的第一个512字节扇区),您可以键入:3 o$ D t+ C& k% E$ P6 @
3 f3 C4 I9 R$ X1 p b$ dd if = / dev / sda of = sda.mbr bs = 512 count = 1
+ E2 ]& J1 h" _) ^
) {9 q3 I; ]! f- u1 a6 Q3 |. _( F警告!* |6 [9 m# U+ c0 h# F
3 t4 `0 A$ T2 u* }+ `' D打字:; K, |- J- ?6 C7 T- J) V! d
% ]* V- G: U( }, S, Y% G$ dd if = / dev / sda = / dev / sdb
2 r5 o* _0 c: c' I) f# o( D0 t" M; W: X# R0 m* S
要将一个磁盘复制到另一个磁盘上,将删除以前存在于第二个磁盘上的所有内容。
- d0 E" Y- \5 a+ ]" `- }" ]* \. I
1 R) {5 z' d4 U6 n2 b# Y在第二个磁盘设备上创建第一个磁盘设备的精确副本。
3 ]( a- z; F; E! o( }& m
! N" j# m2 U5 B7 ~/ t% N& P2 W不要像上面所写那样试验这个命令,因为它可以擦除硬盘!: Z: y( c0 Q9 }, d/ [
b' Z/ S/ B. C& O7 Wdd 代表的名称恰好 是一个经常被争论的项目。数据定义这个词是最流行的理论,源于早期的IBM 历史。通常,人们开玩笑说它意味着磁盘破坏者和其他意外,如删除数据!2 N2 `/ V) x2 [/ q
, O/ @0 [7 ?, T2 S9 Q/ E
, ^, s5 C: K2 W: y
5 W8 c# G: ]: w# ?+ U5 o
% m& ?: C1 n H: c/ Y) k) K* M8 e, q
$ _# n( e! J& Z3 b8 H( ?) T0 c; D8 G
f+ Q; r6 D5 K8 I
|
|