• 2019独角兽企业重金招聘Python工程师标准>>> ...

    使用tar或dd等完成Linux系统备份恢复

    本文提供一个简明常用的系统备份方法,使你可以迅速完成最常用最基本的备份工作。

    需要更详细的可参考:

    鸟哥的LInux私房菜>第二十五章 Linux 備份策略

    IBM:如何迁移备份和裸机恢复 Linux 系统

     

     

    一、tar备份并恢复系统

     

    1 、备份系统

    # tar -czpvf /baksys/backup.tgz  /  --exclude=/baksys --exclude=/lost+found --exclude=/proc/* --exclude=/sys/* --exclude=/tmp/* --exclude=/dev/* --exclude=/media/* --exclude=/mnt/*  2>>/baksys/tar.errors.log 

    其中:

    • -p, --preserve-permissions, --same-permissions 解压文件权限信息(默认只为超级用户服务)。 此参数用于保持文件权限信息,是必要的。
    • --exclude= 参数列出了不需要备份的目录,可以根据实际情况自行调整,注意:不要忘记备份/boot目录或分区,不要备份存储备份文件的目录。 特别注意:--exclude=后面的目录名使用绝对路径或相对路径的方式应与需备份目录的书写方式一致即要么都用绝对路径要么都使用相对路径,否则会导致exclude失效,而且目录一定不能使用/xxx/的形式,必须是/xxx/*或/xxx的形式,否则也失效。 
    • 注意,虽然/proc的目录下内容不可备份,但是/proc目录还是应该备份的,否则需要在迁移解压缩后手动mkdir增加/proc目录;其他几个亦同,但是/lost+found目录非linux系统需要,可全不备份。
    • 建议使用 2>> 将错误输出定向到 tar.errors.log文件,留待备份后查看有无错误。

     

    【注意!】 -f --指定archive或设备名称。这个选项是必选的!而且这个参数后面要紧跟文件名,不能跟随其它参数。如果想通过流的方式实时传输,而不保存压缩文件到硬盘,则可以用“-”代替文件名,例如“tar cpf – . | (cd /mnt/newboot; tar xpf –)”

    【注意!】 备份有时提示:“ ...忽略套接字(socket)” 。socket檔案是應用程式與應用程式溝通所使用的媒介,pipe亦同理,並非實際擁有資料的檔案,所以無須備份。

    【注意!】 backup.tar.gz 可以改为 backup_$(date +"%Y-%m-%d")_img.tar.gz,以便一目了然备份的日期。

    【注意!】 此时备份后的归档文件中各文件存储目录形如“etc/fstab”,而不是“/etc/fstab”,即解压缩时,默认不会按照绝对路径覆盖目录“/”,而是解压至当前命令目录下。

     

    2、检查归档文件

     

    • 匹配路径

    tar tf backup.tgz| grep ^d | egrep -v '(([^/])*/){3}'  

    只显示开头字符是d的行中不包含3个“/”的行。  

    • 限定字数

    tar tvf backup.tgz| grep -v '.\{66,\}'   

    不显示其中每行字符数大于66个的行,其中“.”正则表达式中代表任何非换行符的字符。

     

     

    3    更新或添加文件到压缩包中

    • 首先解压缩如果文件压缩了:

    # gunzip backup.tgz

    • 确定需要更新的文件,建立一个文本文件:

    # cat list.txt
    etc/fstab
    boot/grub/grub.conf
    etc/shadow
    etc/shadow-
    etc/sysconfig/network-scripts/ifcfg-eth0
    etc/sysconfig/network-scripts/ifcfg-eth1
    etc/udev/rules.d/70-persistent-net.rules
    etc/sysconfig/network

    注意list.txt文件中的每行不应包含空格。

    • 解压缩得到list.txt中的文件
    # tar -xpvf backup.tar -T list.txt
    • 修改需要更新的文件

     

    • 确定需要新增加的文件,如写入以下内容到list.txt中 

    etc/sysconfig/network-scripts/ifcfg-eth2
    etc/sysconfig/network-scripts/ifcfg-eth3
    etc/sysconfig/network-scripts/ifcfg-eth4
    etc/sysconfig/network-scripts/ifcfg-eth5

    • 追加list中的文件至归档结尾

    # tar -rpvf backup.tar -T list.txt

    注意使用“-upvf”也是追加,只不过是只追加比归档文件中跟新的文件,tar归档文件没有替换操作。所以例如此时,归档文件中会包含两个同路径的etc/fstab文件,解压缩时会按顺序解压到结尾,所以后追加的文件会覆盖先前的文件

    • 可以联合 删除追加 进行替换操作

    # tar -f backup2.tar --delete -T list.txt

    # tar -rpvf backup.tar -T list.txt

    • 重新压缩文件

    # gzip backup.tgz

    • 增量备份方法请见:http://seanlook.com/2014/12/08/tar_backup_filesystem/

     

    4    还原

     

    4.1    解压缩备份文件到磁盘根目录

    此步骤可在其它Linux系统或者LiveOS下进行

    • 格式化初始化磁盘

    # mkfs.ext4 /dev/sda1  

    这里也可能是sdb5等。如果已经有格式化的分区,这部不需要做。注意,最好其设备号sdaX与要恢复的系统原所在的设备号相同,否则/etc/fstab文件可能需要修改,或者需要修改UUID号。

    • 挂载磁盘

    # mount -v /dev/sda1 /mnt/myrootdir  

    如果有/boot等目录需要使用独立的其他分区,也许将其他分区同样挂载到新的跟目录下,如/mnt/myrootdir/boot等。  

    • 解压缩备份文件

    # cd /mnt/myrootdir  

    # tar -xzpvf backup.tgz   

    【注意!】 z选项默认会识别,可以去掉。

    【注意!】 可以解压特定文件(-T)到指定目录(-C):tar -xzpvf backup.tgz -C /cpsys/tmp/ -T list.txt (-C, --directory=DIR  改变至目录 DIR)注意 -T 一定要在 -C 之后

     

    4.2    重新设置新磁盘的grub引导

    如果恢复到的硬盘的引导分区MBR和原备份文件时的不一致,可能会导致无法开机,可重设grub引导来避免此情况。

    4.2.1    使用grub命令安装(已测试)

    node260@tc: /tmp# grub
    Probing devices to guess BIOS drives. This may take a long time.
    
    
        GNU GRUB  version 0.97  (640K lower / 3072K upper memory)
    
     [ Minimal BASH-like line editing is supported.  For the first word, TAB
       lists possible command completions.  Anywhere else TAB lists the possible
       completions of a device/filename.]
    grub> find /grub/stage1
    find /grub/stage1
     (hd0,0)
     (hd1,0)
    grub> root (hd1,0)    
    root (hd1,0)
     Filesystem type is ext2fs, partition type 0x83
    grub> setup (hd1)
    setup (hd1)
     Checking if "/boot/grub/stage1" exists... no
     Checking if "/grub/stage1" exists... yes
     Checking if "/grub/stage2" exists... yes
     Checking if "/grub/e2fs_stage1_5" exists... yes
     Running "embed /grub/e2fs_stage1_5 (hd1)"...  27 sectors are embedded.
    succeeded
     Running "install /grub/stage1 (hd1) (hd1)1+27 p (hd1,0)/grub/stage2 /grub/grub.conf"... succeeded
    Done.
    grub> quit
    quit
    


    4.2.3    使用grub-install命令安装

    • # sudo mkdir -pv sys proc dev
    • # chroot . 

    将/mnt/myrootdir作为当前进程的根目录,chroot是在unix系统的一个操作,用于对当前的程序和它的子进程改变真实的磁盘根目录。一个被改变根目录的程序不可以访问和命名在被改变根目录外的文件,那个根目录叫做“chroot监狱(chroot jail,chroot prison)” )  

    • # grub-install /dev/sda
    • # grub-install --recheck /dev/sda    

    即便前面是sdb5,这步也还可能是sda,chroot后应仔细检查新硬盘的当前标号。

    • # exit  

    可以开启一个新的终端将挂载的目录umount

    • # umount -v /mnt/myrootdir  

    这步可以不做,直接关机,然后BIOS指定开机硬盘,开机即可。

     

     

     

    5、其他相关摘录 

    -

    ssh 登录并执行命令ls,然后返回

    ssh wszhang@210.45.72.66 ls -al /home/Backup*

    系统复制:

    cp -ax 其中x表示仅复制同一个文件系统中的目录,如果有目录是挂载了其他文件系统(如/dev/sda2),则跳过该目录,不复制。

    scp -rp   /localpath root@192.168.1.65:/home/scp 

    -B 使用批处理模式(传输过程中不询问传输口令或短语)

    -C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)

    -p 保留原文件的修改时间,访问时间和访问权限。

    -q 不显示传输进度条。

    -r 递归复制整个目录。

    -v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。

     

    系统备份同步(注意复制系统时/media不能复制,且要更改fstab中/目录的挂载分区):

     

    rsync -avP --exclude /lost+found --exclude /boot --exclude /media / /media/D_..
    rsync -aSvPhH --delete --force --exclude \$RECYCLE.BIN 

     

    系统备份(注意千万要排除存储备份文件自身的目录,这里为backup):

    #tar czvf /backup/root-backup.tgz / --exclude proc --exclude dev --exclude backup

    用LiveCD开机,
    备份:tar cjvf bak.tar.bz2 /path_to_bak  
    还原:tar xjvfp bak.tar.bz2  
    不会丢失文件的任何信息

    鸟哥来的截图:

     

     

    二、dd备份恢复系统

    1、备份

    用liveCD开机,
    # dd if=/dev/sda1 of=sda1.img.bak bs=4M(然后把disk1.bak这个备份文件cp到安全的地方)

    2、还原

    用liveCD开机,
    # dd if=sda1.img.bak of=/dev/sda1
    # e2fsck -f /dev/sda1
    # resize2fs /dev/sda1
    # e2fsck -f /dev/sda1

    3、dd中的压缩

    dd对磁盘是极大的浪费,100G的硬盘只用1G,dd后的备份文件也是100G,这个可以通过压缩解决。
    1)备份:
    # dd if=/dev/sda1 | bzip2 > sda1.img.bz2
    2)还原:
    # bzip2 -dc sda1.img.bz2 | dd of=/dev/sda1
    # e2fsck -f /dev/sda1
    # resize2fs /dev/sda1
    # e2fsck -f /dev/sda1

    4、One Idea: 使用dd给文件夹而非磁盘创建镜像

    引用自 

    使用dd制作文件夹的img

    du -sh originfile //先看看需要制作的源文件夹大小,假如15M
    dd if=/dev/zero of=new_img.img bs=1024 count=20000 //生成20M的文件
    mkfs.ext3 new_img.img
    mount new_img.img /mnt/new
    cp originfile /mnt/new -R
    umount /mnt/new// new_img.img文件里面就包括了originfile

     

     

    三、附:ubuntu 中的tar帮助信息

    $ tar --version
    tar (GNU tar) 1.23
    Copyright (C) 2010 Free Software Foundation, Inc.

    $ tar --help
    用法: tar [选项...] [FILE]...
     GNU ‘tar’
    将许多文件一起保存至一个单独的磁带或磁盘归档,并能从归档中单独还原所需文件。

    示例
      tar -cf archive.tar foo bar  # 从文件 foo 和 bar 创建归档文件
    archive.tar。
      tar -tvf archive.tar         # 详细列举归档文件 archive.tar
    中的所有文件。
      tar -xf archive.tar          # 展开归档文件 archive.tar
    中的所有文件。


     主操作模式:

      -A, --catenate, --concatenate   追加 tar 文件至归档
      -c, --create               创建一个新归档
      -d, --diff, --compare      找出归档和文件系统的差异
          --delete               从归档(非磁带!)中删除
      -r, --append               追加文件至归档结尾
      -t, --list                 列出归档内容
          --test-label           测试归档卷标并退出
      -u, --update               仅追加比归档中副本更新的文件
      -x, --extract, --get       从归档中解出文件


     操作修饰符:

          --check-device         当创建增量归档时检查设备号(默认)
      -g, --listed-incremental=FILE   处理新式的 GNU 格式的增量备份
      -G, --incremental          处理老式的 GNU 格式的增量备份
          --ignore-failed-read
                                 当遇上不可读文件时不要以非零值退出
          --level=NUMBER         所创建的增量列表归档的输出级别
      -n, --seek                 归档可检索
          --no-check-device      当创建增量归档时不要检查设备号
          --no-seek              归档不可检索
          --occurrence[=NUMBER]  仅处理归档中每个文件的第 NUMBER
                                 个事件;仅当与以下子命令 --delete,
                                 --diff, --extract 或是 --list
                                 中的一个联合使用时,此选项才有效。而且不管文件列表是以命令行形式给出或是通过
                                 -T 选项指定的;NUMBER 值默认为 1
          --sparse-version=MAJOR[.MINOR]
                                 设置所用的离散格式版本(隐含
                                 --sparse)
      -S, --sparse               高效处理离散文件

     重写控制:

      -k, --keep-old-files       don't replace existing files when extracting,
                                 treat them as errors
          --keep-newer-files
                                 不要替换比归档中副本更新的已存在的文件
          --no-overwrite-dir     保留已存在目录的元数据
          --overwrite            解压时重写存在的文件
          --overwrite-dir
                                 解压时重写已存在目录的元数据(默认)
                                
          --recursive-unlink     解压目录之前先清除目录层次
          --remove-files         在添加文件至归档后删除它们
          --skip-old-files       don't replace existing files when extracting,
                                 silently skip over them
      -U, --unlink-first         在解压要重写的文件之前先删除它们
      -W, --verify               在写入以后尝试校验归档

     选择输出流:

          --ignore-command-error 忽略子进程的退出代码
          --no-ignore-command-error
                                 将子进程的非零退出代码认为发生错误
      -O, --to-stdout            解压文件至标准输出
          --to-command=COMMAND
                                 将解压的文件通过管道传送至另一个程序

     操作文件属性:

          --acls                 Save the ACLs to the archive
          --atime-preserve[=METHOD]
                                 在输出的文件上保留访问时间,要么通过在读取(默认
                                 METHOD=‘replace’)后还原时间,要不就不要在第一次(METHOD=‘system’)设置时间
          --delay-directory-restore
                                 直到解压结束才设置修改时间和所解目录的权限
          --group=名称         强制将 NAME
                                 作为所添加的文件的组所有者
          --mode=CHANGES         强制将所添加的文件(符号)更改为权限
                                 CHANGES
          --mtime=DATE-OR-FILE   从 DATE-OR-FILE 中为添加的文件设置 mtime
                                
      -m, --touch                不要解压文件的修改时间
          --no-acls              Don't extract the ACLs from the archive
          --no-delay-directory-restore
                                 取消 --delay-directory-restore 选项的效果
          --no-same-owner
                                 将文件解压为您所有(普通用户默认此项)
          --no-same-permissions
                                 从归档中解压权限时使用用户的掩码位(默认为普通用户服务)
          --no-selinux           Don't extract the SELinux context from the
                                 archive
          --no-xattrs            Don't extract the user/root xattrs from the
                                 archive
          --numeric-owner        总是以数字代表用户/组的名称
          --owner=名称         强制将 NAME
                                 作为所添加的文件的所有者
      -p, --preserve-permissions, --same-permissions
                                 解压文件权限信息(默认只为超级用户服务)
          --preserve             与 -p 和 -s 一样
          --same-owner
                                 尝试解压时保持所有者关系一致(超级用户默认此项)
      -s, --preserve-order, --same-order
                                 为解压至匹配归档排序名称
          --selinux              Save the SELinux context to the archive
          --xattrs               Save the user/root xattrs to the archive


     设备选择和切换:

      -f, --file=ARCHIVE         使用归档文件或 ARCHIVE 设备
          --force-local
                                 即使归档文件存在副本还是把它认为是本地归档
      -F, --info-script=名称, --new-volume-script=名称
                                 在每卷磁带最后运行脚本(隐含 -M)
      -L, --tape-length=NUMBER   写入 NUMBER × 1024 字节后更换磁带
      -M, --multi-volume         创建/列出/解压多卷归档文件
          --rmt-command=COMMAND  使用指定的 rmt COMMAND 代替 rmt
          --rsh-command=COMMAND  使用远程 COMMAND 代替 rsh
          --volno-file=FILE      使用/更新 FILE 中的卷数

     设备分块:

      -b, --blocking-factor=BLOCKS   每个记录 BLOCKS x 512 字节
      -B, --read-full-records    读取时重新分块(只对 4.2BSD 管道有效)
      -i, --ignore-zeros         忽略归档中的零字节块(即文件结尾)
          --record-size=NUMBER   每个记录的字节数 NUMBER,乘以 512

     选择归档格式:

      -H, --format=FORMAT        创建指定格式的归档

     FORMAT 是以下格式中的一种:

        gnu                      GNU tar 1.13.x 格式
        oldgnu                   GNU 格式 as per tar <= 1.12
        pax                      POSIX 1003.1-2001 (pax) 格式
        posix                    等同于 pax
        ustar                    POSIX 1003.1-1988 (ustar) 格式
        v7                       old V7 tar 格式

          --old-archive, --portability
                                 等同于 --format=v7
          --pax-option=关键字[[:]=值][,关键字[[:]=值]]...
                                 控制 pax 关键字
          --posix                等同于 --format=posix
      -V, --label=TEXT           创建带有卷名 TEXT
                                 的归档;在列出/解压时,使用 TEXT
                                 作为卷名的模式串

     压缩选项:

      -a, --auto-compress        使用归档后缀名来决定压缩程序
      -I, --use-compress-program=PROG
                                 通过 PROG 过滤(必须是能接受 -d
                                 选项的程序)
      -j, --bzip2                通过 bzip2 过滤归档
      -J, --xz                   通过 xz 过滤归档
          --lzip                 通过 lzip 过滤归档
          --lzma                 通过 lzma 过滤归档
          --lzop
          --no-auto-compress     不使用归档后缀名来决定压缩程序
      -z, --gzip, --gunzip, --ungzip   通过 gzip 过滤归档
      -Z, --compress, --uncompress   通过 compress 过滤归档


     本地文件选择:

          --add-file=FILE        添加指定的 FILE 至归档(如果名字以 -
                                 开始会很有用的)
          --backup[=CONTROL]     在删除前备份,选择 CONTROL 版本
      -C, --directory=DIR        改变至目录 DIR
          --exclude=PATTERN      排除以 PATTERN 指定的文件
          --exclude-backups      排除备份和锁文件
          --exclude-caches       除标识文件本身外,排除包含
                                 CACHEDIR.TAG 的目录中的内容
          --exclude-caches-all   排除包含 CACHEDIR.TAG 的目录
          --exclude-caches-under 排除包含 CACHEDIR.TAG 的目录中所有内容
                                
          --exclude-tag=FILE     除 FILE 自身外,排除包含 FILE
                                 的目录中的内容
          --exclude-tag-all=FILE 排除包含 FILE 的目录
          --exclude-tag-under=FILE   排除包含 FILE 的目录中的所有内容
          --exclude-vcs          排除版本控制系统目录
      -h, --dereference
                                 跟踪符号链接;将它们所指向的文件归档并输出
          --hard-dereference
                                 跟踪硬链接;将它们所指向的文件归档并输出
      -K, --starting-file=MEMBER-NAME
                                 从归档中的 MEMBER-NAME 成员处开始
          --newer-mtime=DATE     当只有数据改变时比较数据和时间
          --no-null              禁用上一次的效果 --null 选项
          --no-recursion         避免目录中的自动降级
          --no-unquote           不以 -T 读取的文件名作为引用结束
          --null                 -T 读取以空终止的名字,-C 禁用
      -N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE
                                 只保存比 DATE-OR-FILE 更新的文件
          --one-file-system      创建归档时保存在本地文件系统中
      -P, --absolute-names       不要从文件名中清除引导符‘/’

    【附注】解压时加上 -P 选项会将文件解压到压缩时的绝对路径,而不是在当前路径下,一般不使用,尤其不要与重要的 -p 选项混淆了


          --recursion            目录递归(默认)
          --suffix=STRING        在删除前备份,除非被环境变量
                                 SIMPLE_BACKUP_SUFFIX
                                 覆盖,否则覆盖常用后缀(‘’)
      -T, --files-from=FILE      从 FILE
                                 中获取文件名来解压或创建文件
          --unquote              以 -T
                                 读取的文件名作为引用结束(默认)
      -X, --exclude-from=FILE    排除 FILE 中列出的模式串

     文件名变换:

          --strip-components=NUMBER   解压时从文件名中清除 NUMBER
                                 个引导部分
          --transform=EXPRESSION, --xform=EXPRESSION
                                 使用 sed 代替 EXPRESSION
                                 来进行文件名变换

     文件名匹配选项(同时影响排除和包括模式串):

          --anchored             模式串匹配文件名头部
          --ignore-case          忽略大小写
          --no-anchored          模式串匹配任意‘/’后字符(默认对
                                 exclusion 有效)
          --no-ignore-case       匹配大小写(默认)
          --no-wildcards         逐字匹配字符串
          --no-wildcards-match-slash   通配符不匹配‘/’
          --wildcards            use wildcards (default)
          --wildcards-match-slash
                                 通配符匹配‘/’(默认对排除操作有效)

     提示性输出:

          --checkpoint[=NUMBER]  每隔 NUMBER
                                 个记录显示进度信息(默认为 10 个)
          --checkpoint-action=ACTION   在每个检查点上执行 ACTION
          --index-file=FILE      将详细输出发送至 FILE
      -l, --check-links
                                 只要不是所有链接都被输出就打印信息
          --no-quote-chars=STRING   禁用来自 STRING 的字符引用
          --quote-chars=STRING   来自 STRING 的额外的引用字符
          --quoting-style=STYLE  设置名称引用风格;有效的 STYLE
                                 值请参阅以下说明
      -R, --block-number         每个信息都显示归档内的块数
          --show-defaults        显示 tar 默认选项
          --show-omitted-dirs
                                 列表或解压时,列出每个不匹配查找标准的目录
          --show-transformed-names, --show-stored-names
                                 显示变换后的文件名或归档名
          --totals[=SIGNAL]      处理归档后打印出总字节数;当此
                                 SIGNAL 被触发时带参数 -
                                 打印总字节数;允许的信号为:
                                 SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和
                                 SIGUSR2;同时也接受不带 SIG
                                 前缀的信号名称
          --utc                  以 UTC 格式打印文件修改信息
      -v, --verbose              详细地列出处理的文件
          --warning=KEYWORD      警告控制:
      -w, --interactive, --confirmation
                                 每次操作都要求确认

     兼容性选项:

      -o                         创建归档时,相当于
                                 --old-archive;展开归档时,相当于
                                 --no-same-owner

     其它选项:
      -?, --help                 显示此帮助列表
          --restrict             禁用某些潜在的有危险的选项
          --usage                显示简短的用法说明
          --version              打印程序版本

    长选项和相应短选项具有相同的强制参数或可选参数。

    除非以 --suffix 或 SIMPLE_BACKUP_SUFFIX
    设置备份后缀,否则备份后缀就是“~”。
    可以用 --backup 或 VERSION_CONTROL 设置版本控制,可能的值为:

      none, off   从不做备份
      t, numbered     进行编号备份
      nil, existing
    如果编号备份存在则进行编号备份,否则进行简单备份
      never, simple   总是使用简单备份

    --quoting-style 选项的有效参数为:

      literal
      shell
      shell-always
      c
      c-maybe
      escape
      locale
      clocale

    此 tar 默认为:
    --format=gnu -f- -b20 --quoting-style=escape --rmt-command=/sbin/rmt
    --rsh-command=/usr/bin/rsh

    将错误报告发送到 <bug-tar@gnu.org>。

     

     

    【参考】

    http://tieba.baidu.com/p/667600091

    http://tieba.baidu.com.cn/p/1184618169

     

    转载于:https://my.oschina.net/emptytimespace/blog/112508

    展开全文
  • 1、压缩文件的用途与技术  文件压缩原理,目前计算机系统中所使用的Bytes单位,其实计算机最小计量单位应该是bits,1Byte=8bits,若是记录的数据是1,那么只需要用到一个位就行,可是在实际中还是会用到8个位,...

    1、压缩文件的用途与技术

            文件压缩原理,目前计算机系统中所使用的Bytes单位,其实计算机最小计量单位应该是bits,1Byte=8bits,若是记录的数据是1,那么只需要用到一个位就行,可是在实际中还是会用到8个位,所以可以将没有使用的空间丢出,让文件占用空间变小。还有一种压缩技术也很有趣,是将重复的数据进行统计记录,比如记录的数据是100个1,那么会记录两个数据,一个100,一个1,这样也能精简文件文件记录的容量。压缩过的文件是不能直接使用的,要将它还原到未压缩之前的模样,也就是解压缩。压缩后与压缩的文件所占用的磁盘空间大小就称为压缩比。

    2、Linux 系统常见的压缩指令

            在linux中压缩文件的扩展名大多是,“*.tar,*.tar.gz,*.tgz,*gz,*Z,*bz2,*xz”,这是因为linux中压缩指令非常多,不同的压缩指令使用的技术不同,所以彼此之间压缩和解压缩是无法互通的。所以以扩展名来表示是使用什么指令压缩的,这样就可以知道通过什么解压缩指令来解压缩了。 常见的压缩文件扩展名:

            

        2.1 gzip,zcat/zmore/zless/zgrep

            

            显示出压缩比,再比较两个文件大小。

             

            很明显,压缩之后文件变小,当使用gzip进行压缩时,在默认状态下,原本的文建会被压缩成.gz的文件名,并且原始文件不存在,这个压缩文件在windows中可以被winrar/7zip解压缩。gzip提供了1-9的压缩等级,一般使用默认的6就可以。

            cat/more/less可以使用不同的方式读取纯文本文件,zcat/zmore/zless则可以对应的读取纯文本文件压缩之后的压缩文件。

        2.2 bzip2,bzcat/bzmore/bzless/bzgrep

            如果说gzip是为了取代compress并提供更好的压缩比而成立的,那么bzip2则是为了取代gzip并提供更佳的压缩比。bzip2使用方法和gzip几乎相同。

            

            和之前gzip压缩对比,可以看到bzip2压缩比更高。

            

        2.3  xz,xzcat/xzmore/xzless/xzgrep

            是一个比bzip2压缩比更高的软件。使用方法和之前的也基本一样。ls

            

            对比三种压缩完成之后的容量。

            

           根据自己需要选择压缩工具,压缩比高的自然运行时间更慢。

    3、打包指令:tar 

            前面的指令大多是针对单一文件进行压缩,虽然他们也能对目录进行压缩,但是对目录的压缩其实也是对目录内文件分别压缩,这种将多个文件或目录包成一个大文件的指令功能,称为打包指令。tar可以将多个目录或文件打包成一个大文件,同时还可以通gzip/bzip2/xz的支持将该文件同时进行压缩。

        3.1 tar

            tar 的选项和参数很多,一般记住常用的就可以。

            

            其实最简单的使用tar 只要记忆下面的方式即可:

            压缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录

            查询:tar -jtv -f filename.tar.bz2

            解压缩: tar -jxv -f filename.tar.bz2 -C

            tar 不会主动创建文件名,需要自己定,这样扩展名就很重要了。如果不加【-z/-j/-J】则文件最好取为*.tar,如果是 -j选项,代表有bzip2支持,则文件名最好取为 *.tar.bz2,如果是 -z选项,文件名最好取为 *.tar.gz。一般而言 -f后直接加文件名,所以一般将-f选项独立出来,比较不容易发生问题。

        *使用tar加入 -z,-j或-J备份/etc/目录

            

            加入time会显示程序运行时间,加上 -v选项,显示正在作用的文件名,加入-p保留原文件的权限和属性。

            

           分别使用-j,-J产生.bz2和.xz的压缩文件,可以看到随着压缩比的增高运行时间也增高。加入-p选项是为了保留原本文件的选项和属性。

        *查阅tar文件的数据内容(可查看文件名),与备份文件有根目录的意义

            可以根据tar指令来看:

            

            结果:

            

            加上-v选项会详细列出文件的权限和属性,如果只是想知道文件名,只需要去掉-v选项即可。如下:

            

           换一个参数 -z来查看.gz后缀的文件内容:

            

            只显示了文件名。可以看出上面的文件名都没有了根目录。(前面步骤有误导致还是在根目录下)。重新操作。

            

            注意和之前指令的不同。

                    

            没有了根目录,拿掉根目录其实是一种安全的做法,如果没有拿掉根目录那么解压缩之后文件会是绝对路径会覆盖之前的etc文件,这样备份数据会覆盖现在的数据。如果需要备份根目录到tar文件中可以使用-P这个选项。

        将备份的数据解压缩,并考虑特定目录的解压缩动作(-C 选项的应用)

            使用如下指令:

    tar -jxf -f /root/etc.tar.bz2 -C /tmp

        解开单一文件的方法

            只要使用 -jtv找到你要的文件名,然后将文件解开即可。如下指令:重点是要找到正确的文件名。

    tar -jtv -f /root/etc.tar.bz2 |grep 'shadow'
    tar -jxf -f /root/etc.tar.bz2 etc/shadow

         打包某目录,但不含该目录下的某些文件之作法

            使用 --exclude 就是不包含的意思。使用如下指令:

    tar -jcv -f /root/system.tar.bz2 --exclude=/root/rtc* \
    --exclude=/rot/system.tar.bz2 /etc /root 

            反斜杠是可以在第二行输入,这个命令将打包/etc/ /root目录,三十却不想打包/root/etc*开头的文件,且新的打包文件为/root/system.tar.bz2,并且这个文件也不能打包自己,所以使用两个exclude除掉我们不想打包的文件。

        仅备份比某个时刻新的文件

            --newer-mtime这个选项,其实这是两个选项,可以使用如下指令:

    tar -jcv -f /root/etc.newer.then.apsswd.tar.bz2 \
    --newer-mtime="2018/12/17" /etc/*

        基本名称:tarfile,tarball

            tar打包出来的文件有没有经过压缩所得到的文件称呼不同。如果仅仅是打包这个文件称为:tarfile。如果还进行了压缩的支持,称为tarball。

        特殊应用:利用管线命令与数据流

            tar中有一种方式最特殊,那就是通过标准输入和输出的数据流重导向。以及管线命令的方式,将待处理的文件一边打包一边解压缩到目标目录去。

            

    4、XFS文件系统的备份与还原

            使用tar通常是针对目录树系统进行备份的工作,如果要针对整个文件系统来备份和还原,那么就需要xfsdump和xfsrestore这两个工具。

        4.1 XFS 文件系统备份 xfsdump

            xfsdump不仅可以进行文件系统的完整备份还可以进行累积备份,累积备份也就是第一次备份之后等国一点时间再备份时就可以选择累积备份,新备份的数据只会记录与第一次完整备份有差异的文件。

            

        使用xfsdump进行累积备份

            只有经过上面的完整备份之后才能进行累积备份。

            

        4.2 XFS文件系统还原

            备份文件就是在急用时可以回复系统的重要数据,复原系统使用xfsrestore这个指令。

           

    5、光盘写入工具

            光盘在如今用到的越来越少,但是在某些特殊场合还是需要用到,这一部分主要涉及两个指令。一个是mkisofs(将所需备份的数据创建成为一个镜像文件iso),cdrecord(将镜像文件烧录至光盘或者DVD中)。

        5.1 mkisofs :创建镜像文件

            烧录可开机和不可开机的光盘使用方法不太一样。

            制作一般数据光盘镜像文件

            mkisofs使用方法如下:

            

        5.2  cdrecord:光盘烧录工具

            指令wodim进行烧录,是链接到cdrecord上的。

            

    6、其他常见压缩备份工具

        6.1 dd

            前面使用过这个指令,但是这个指令不仅仅能用来制作一个文件,dd最大功效可能在于备份,因为dd可以直接读取磁盘设备的内容,几乎是直接读取扇区然后将整个设备文件备份成一个文件。

            

            范例:将/etc/passwd 备份到/tmp/passwd.back 

            

            dd不会处理文件系统,它是直接在磁盘扇区上进行复制。

        6.2 cpio 

            这个指令可以备份任何东西,包括设备文件,但是它不会主动去找文件备份,一般要配合find等可以找到文件名的指令来告知cpio该备份的数据在哪里。使用方法:

            

            范例:找出/boot下面所有文件然后备份到/tmp/boot.cpio

            

           用find boot找出文件名,顺着管线(|)就可以将文件名传给cpio进行处理。复制时最好不要带根目录,这样解压时会覆盖原本的文件。

    7、总结

            (1)压缩指令通过一些运算方法将原本的文件进行压缩,以减少文件所占用的磁盘容量。

            (2)常见的压缩文件扩展名:*.gz,*.bz2,*.xz,*.tar.gz,*.tar.bz2,*.tar.xz

            (3)常见的压缩指令:gzip,bzip2,xz,压缩率最佳的是xz,如果不考虑时间成本,则可以使用xz进行压缩。

            (4)tar可以用来进行文件打包,同时支持上面的几种压缩。

            (5)压缩:tar -Jcv -f filename.tar.xz 要被压缩的文件或目录(J 可换为 j,z,分别代表xz,bz2,gzip压缩)。

            (6)查询:tar -Jtv -f filename.tar.xz (J 可换为 j,z,分别代表xz,bz2,gzip压缩)。

            (7)解压缩:tar -Jxv -f filename.tar.xz (J 可换为 j,z,分别代表xz,bz2,gzip压缩)

            (8)xfsdump 指令可以备份文件系统或单一目录

            (9)xfsdum 的备份若针对文件系统时可以用0-9的差异备份。

            (10)xfsrestore 指令可以还原被xfsdump创建的备份文件

            (11)创建光盘烧录数据可以使用mkisofs

            (12)可以使用wodim写入CD

            (13) dd可以备份完整的分区或磁盘,dd可读取磁盘的扇区数据

            (14) cpio备份要搭配find类似指令读入欲备份的文件名。 

            

             

            

            

     

        

            

             

                   

                    

    展开全文
  • 1,查看磁盘挂载状态:df -h 2,开始备份磁盘分区,...dd if=“设备或文件名” of=“备份文件的路径”,下文示例的磁盘分区为/dev/sda1,挂载点为/boot,备份文件设定为/data2/boot.disk; 2,开始备份磁盘分区

    Page from: http://blog.sina.com.cn/s/blog_70b8886401011q5j.html

    1,查看磁盘挂载状态:df -h
    2,开始备份磁盘分区,命令格式为:
    dd if=“设备或文件名” of=“备份文件的路径”,下文示例的磁盘分区为/dev/sda1,挂载点为/boot,备份文件设定为/data2/boot.disk;

    2,开始备份磁盘分区,命令格式为:
    dd if=“设备或文件名” of=“备份文件的路径”,下文示例的磁盘分区为/dev/sda1,挂载点为/boot,备份文件设定为/data2/boot.disk;
    dd if=/dev/sda1 of=/tmp/boot.disk
    备份出来的文件甚至可以用mount 挂载:
    mount -o loop /tmp/boot.disk /mnt

    然后进入/boot 分区肆无忌惮的乱删一气……,重启机器,grub 找到vmlinuz 了……
    如果是恢复和系统无关的分区,可以在工作模式下进行恢复,如果无法启动了,使用Linux启动盘进入救援模式:
    切记,要选择挂载的硬盘为可读写。(如不想在救援模式挂载磁盘请看文尾的小top)
    救援模式下,默认会将硬盘数据挂载到live CD 的/mnt/sysimage 目录。
    这是当前的挂载点信息。
    我们可以考虑chroot,也可以不做。
    现在看看挂载信息。
    恢复的时候用同样的命令格式,只是源和目标变了:
    dd if=/tmp/boot.disk of=/dev/sda1
    严重警告!如果你的恢复路径指定错误,比如说指定到/dev/sda2或者/dev/sda,那一场救援就会变成一场新的灾难,其他磁盘分区的数据会被抹掉!!!
    磁盘MBR/分区表的备份恢复。
    首先了解下磁盘的结构,前512K 的内容是MBR+分区表。
    然后再执行dd 命令做备份时备份的对象是/dev/sda,而非具体分区,另需要加上参数bs=512 count=1.
    bs=BYTES force ibs=BYTES and obs=BYTES
    count=BLOCKS copy only BLOCKS input blocks
    dd if=/dev/sda of=/tmp/mbr.disk bs=512 count=1
    备份完成后用fdisk 删掉/dev/sda1 分区,重启后服务器肯定起不来了。同样用救援模式从光盘引导系统,新引导的系统已经没有/dev/sda1 了。
    可选的环节,chroot
    再次检查磁盘挂载情况;
    恢复的时候是同样的命令返回来用,如果是单独恢复分区表,请将后缀参数改成bs=512 skip=446 count=66;
    dd if=/tmp/mbr.disk of=/dev/sda bs=512 count=1
    重启服务器,就会加载新的分区表并正常启动计算机,被我通过fdisk 删除的/boot 分区又出现出现了。如果还有磁盘的损坏,请重启后继续进入救援模式继续修复。
    生产应用中的小技巧
    1,利用jobs 队列将dd 扔到后台执行;
    如果我们早有打算,在执行dd 命令的结尾加上“&”就直接将dd 扔到了后台执行,但
    很多情况是当前窗口开始dd 一段时间以后,我们突然想断开shell 了。这种情况重新dd 是
    挺可惜的,可以用下面的方法来将运行中的dd 扔到后台执行:
    A. 首先按ctrl+z,暂停dd 的执行,回到shell 里。
    B. 执行jobs,看看被你暂停掉的dd 命令的job id 是多少。如果之前你没有ctrl+z 暂停
    过其他任务,则其job id 为1。
    C. 使用bg + %{job id} 可以让暂停的进程在后台执行,使用fg + %{job id} 可以让暂
    停的进程在前台执行。下面的实验中我们肯定是用后台执行了,执行完成后再看下jobs,状态已经变成running 了。
    请注意上图中的“1”是job id,dd 进程的运行状态是running 了。
    2,如果在后台运行的dd,我们想看看它的执行进度该怎么看哪?其实dd 的help 里已经提到了这个功能了:
    [root@caotest-1 ~]# dd --help
    …………
    Sending a USR1 signal to a running `dd' process makes it
    print I/O statistics to standard error and then resume copying.
    英文我们看不太懂,那就看看实际执行的方法和结果吧。
    首先我们用ps 命令找到dd 的pid,然后将pid 写到这个命令里就可以了
    命令是: kill -USR1 {dd-pid}。
    从输出内容里我们可以看到,现在已经复制了多少数据,以用了多少时间,当前的
    速度是多少。
    3,救援模式默认会挂载磁盘内系统的根分区,而且无法强制卸载,这个时候需要在引导linux
    的时候就加上一个参数,进入救援模式的命令变成:
    linux rescue nomount
    展开全文
  • Linux的备份是运维工作中重要的一环,记得有一个事例,一个开发误删了数据库,运维无奈的去找备份文件,这时候一个好事和一个坏事发生在他身上了,好的事情是备份文件在,坏的事情是备份文件容量是零,也就是说,他...

                        Linux 系统备份与恢复的几种方式简单分析

         Linux的备份是运维工作中重要的一环,记得有一个事例,一个开发误删了数据库,运维无奈的去找备份文件,这时候一个好事和一个坏事发生在他身上了,好的事情是备份文件在,坏的事情是备份文件容量是零,也就是说,他通过脚本生成的备份文件光有一个名字,实际上并没有备份上。后来,这哥们很惨,结局大家都懂得(绝对不是我,声明下)。

         根据数据的珍贵程度,我们来制定相应的备份策略,很简单,越珍贵的数据越高频次的备份,并且多种形式的备份,比如,远程存放备份,独立冷热备份,使用专业的备份软件,建立容灾备份,等等各种形式。

         现在讨论一下对 数据安全不是非常敏感的常规备份方式,大体上有以下几种:

    一。 tar命令备份

    tar命令是Linux自带的命令,通常用在解压缩和压缩,该命令比较灵活,功能强大,使用范围广,可以备份单个或数个文件夹,也可以选择备份文件夹内的内容,也可以进行全盘备份,但一般不是推荐这样使用、

    tar -jcvf  [生成的压缩文件完整路径]  【需要压缩的文件或文件夹】 其中的  j 可以更换成  z ,j指的是 .bz2 后缀格式的文件, z 指的是  .gz 后缀格式的文件, 这是压缩的动作。

    tar -xjvf  【压缩的文件】  -C [要解压缩到的文件夹路径] 这是解压缩的动作

    例子1:

    tar -jcvf /mnt/sdb1/back_etc.tar.bz2 /etc
    #在/mnt/sdb1这个目录下生成一个文件名称为back_etc 的文件,该文件压缩的是 /etc目录
    tar -xjvf  /mnt/sdb1/back_etc.tar.bz2 -C /opt/aa/
    #将上面生成的文件解压到/opt/aa/这个目录下

     二 、xfs文件系统的备份 xfsdump命令

    该命令从名字看也可以知道是xfs文件系统专用命令,别的文件系统不用想,不支持,这是一个大的缺点,只支持单个文件或者单独分区的备份,优点是备份速度快,支持增量备份。

     

    使用xfsdump时有以下几个限制:

    1.xfsdump不支持没有挂载的文件系统备份!

    2.xfsdump必须使用root权限才能操作(涉及文件系统的关系)

    3.xfsdump只能备份xfs文件系统

    4.xfsdump备份下来的数据(档案或存储媒体)只能让xfsrestore解析

    5.xfsdump是通过文件系统的UUID来分辨系统各个备份档的,因此不能备份两个具有相同UUID的文件系

    该命令的用法:xfsdump -f  [备份的文件存放位置]  【要备份的分区】 -L 该次备份的会话标签(其实可以随便写) -M 该次备份指定的设备标签(其实可以随便写)

    xfsdump -f/opt/back_all /dev/sda2 -L sda2_back -M sda2

    #-L和-M后面其实随便写的,尽量规范书写

    三。最为简单粗暴的dd命令(慎用)

    dd if=/dev/sr0 of=/mnt/sdb1/cdrom_backup bs=10M count=10

    挂载的光驱写入到/mnt/sdb1/下的cdrom_backup文件中,每次10M大小,10块的速度写入

     

    展开全文
  • 转换或者拷贝文件 dd cpio备份命令 Linux程序包安装及管理方式 一、tar:打包归档命令 tar 命令可以为linux文件和目录创建档案。 打包是指将一大堆文件或目录变成一个总的文件; 压缩则是将一个大的文件通过一些...

    tar:打包归档命令

    转换或者拷贝文件 dd

    cpio备份命令

    Linux程序包安装及管理方式

    一、tar:打包归档命令

    tar 命令可以为linux的文件和目录创建档案。

    打包是指将一大堆文件或目录变成一个总的文件;
    压缩则是将一个大的文件通过一些压缩算法变成一个小文件。

    命令选项:
    这六个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个

    • -c: 建立压缩档案

    • -x:解压

    • -t:查看内容

    • -r:向压缩归档文件末尾追加文件

    • -u:更新原压缩包中的文件

    • -A:追加tar文件至归档

      下面的参数是根据需要在压缩或解压档案时可选的。

    • -z:有gzip属性的

    • -j:有bz2属性的

    • -J: 有xz属性的

    • -Z:有compress属性的

    • -v:显示所有过程

    • -O:将文件解开到标准输出

    • -N <日期格式> 或 --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里;

    -f: 使用档案名字,这个参数是最后一个参数,后面只能接档案名
    在这里插入图片描述
    在这里插入图片描述

    二、转换或者拷贝文件 dd

    dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

    参数注释:

    1. if=文件名:输入文件名,标准输入。指定源文件。

    2. of=文件名:输出文件名,标准输出。指定目的文件。of=output file

    3. ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。

    4. obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。

    5. bs=bytes:同时设置读入/输出的块大小为bytes个字节。

    6. skip=blocks:从输入文件开头跳过blocks个块后再开始复制。

    7. seek=blocks:从输出文件开头跳过blocks个块后再开始复制。

    8. count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。

    9. conv=conversion:用指定的参数转换文件。

    1.将本地的/dev/sdb整盘备份到/dev/sdd
    [root@nebulalinux03 test]# dd if=/dev/sdb of=/dev/sdd

    . 2.将/dev/sdb全盘数据备份到指定路径的file文件
    [root@nebulalinux03 test]# dd if=/dev/hdb of=/root/file

    3.将备份文件恢复到指定盘
    [root@nebulalinux03 test]# dd if=/root/file of=/dev/sdb

    4.将压缩的备份文件恢复到指定盘
    [root@nebulalinux03 test]# gzip -dc /root/file.gz | dd of=/dev/hdb

    5.备份与恢复MBR备份磁盘开始的512个字节大小的MBR信息到指定文件:
    [root@nebulalinux03 test]# dd if=/dev/hda of=/root/image count=1 bs=512

    count=1指仅拷贝一个块;bs=512指块大小为512个字节。

    6.恢复:
    [root@nebulalinux03 test]# dd if=/root/image of=/dev/had

    7.测试硬盘的读写速度
    [root@nebulalinux03 test]# dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file

    8.确定硬盘的最佳块大小:
    [root@nebulalinux03 test]# dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file

    [root@nebulalinux03 test]# dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file

    [root@nebulalinux03 test]# dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file

    [root@nebulalinux03 test]# dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file

    三、cpio备份命令

    cpio是用来建立,还原备份档的工具程序,它可以加入,解开cpio,img或tra备份档内的文件。

    常用操作模式

    • 备份:cpio -ocvB > [ file | device ]
      find / -print | cpio -ocvB > /dev/sdb
    • 还原:cpio -ivcdu > [ file | device ]
      cpio -ivcdu < /dev/sdb > /tmp/log
    • 查看:cpio -ivct > [ file | device ]

    命令选项:

    • -o :将资料 copy 输出到文件或装置上

    • -i :将资料自文件或装置 copy 出来系统当中

    • -t :查看 cpio 建立的文件或装置的内容

    • -c :一种较新的 portable format 方式储存

    • -v :让储存的过程中文件名称可以在萤幕上显示

    • -B :让预设的 Blocks 可以增加至 5120 bytes ,预设是 512 bytes !这样的好处是可以让大文件的储存速度加快

    • -d :自动建立目录!由於 cpio 的内容可能不是在同一个目录内,如此的话在反备份的过程会有问题! 这个时候加上 -d的话,就可以自动的将需要的目录建立起来了!

    • -u :自动的将较新的文件覆盖较旧的文件

    四、Linux程序包安装及管理方式

    1、源码包

    源码包能直接看到源码,安装时需要人为手工设置安装位置,一般是/usr/local/软件名/

    优点:

    • 开源,如果有足够的能力,可以直接修改源代码。

    • 安装时可以自由选择所需的功能

    • 软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高。

    • 卸载方便,直接删了你安装软件的那个目录就好了。

    缺点:

    • 安装步骤较多,尤其安装较大的软件集合时,容易出现拼写错误。

    • 编译时间过长,比后面讲的二进制安装时间长。

    • 因为是编译安装,安装过程中一旦报错新手很难解决。

    2、二进制包

    优点:

    • 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载。

    • 安装速度比源码包快很多

    缺点:

    • 已经经过编译了,看不到源代码。

    • 功能选择不如源代码包灵活。

    • 安装过程中有很多依赖的包,依赖性不好解决。

    五、安装方式:

    YUM安装方式

    [options]是可选的,选项包括 -h(帮助) -y(当安装过程提示选择全部为"yes") -q(不显示安装的过程)

    yum相关命令

    • 显示配置的仓库
      yum repolist all #显示所有
      yum repolist enabled #显示可用

    • 显示所有软件包
      yum list 或者yum list all
      yum list|grep 包名
      yum list installed|grep 包名 #查看是否已安装某包
      yum list available #显示可安装的包
      yum list updates #显示已经更新的包
      yum list recent #显示最近增加的包

    • 安装
      yum install 包名
      yum install -y 包名 #安装包,并对所有的Y/N选择Y

    • 升级
      yum update 包名

    • 卸载
      yum remove 包名

    • 创建和清理缓存
      yum makecache #构建缓存
      yum clean all #清理

    • 搜索
      yum search 包名

    • 显示软件包信息
      yum info 包名

    • 列出软件包提供哪些文件
      yum provides 包名

    rpm包安装

    httpd-2.2.15-53.el6.centos.x86_64.rpm

    httpd:软件包名

    2.2.15:主板本号.次版本号.修正号

    53:发布版本号,表示第几次编译生成的

    l6.centos:表示RHEL 6.X/centos平台下

    x86:表示CPU架构平台

    64:支持系统位数

    rpm:后缀名,表示rpm包,可以用rpm命令直接安装

    命令选项:

    • rpm -ivh 安装包全名

    • -i:install 安装

    • -v:verbose 显示安装详细信息

    • -h:hash marks输出进度条;每个#表示%2的进度

    • –nodeps:不检测依赖

    • –replacepkgs:重新安装

    注意:rpm可以自带脚本;

    使用yum的方式安装http服务
    在这里插入图片描述

    展开全文
  • 1.创建备份目录 mkdir /data/dbback/mysql 2.创建备份shell脚本 vim /data/dbback/bkDatabaseName.sh 输入或粘贴以下类容 db_user="root" db_passwd="root" db_name="db_test" # the directory for story your...
  • ①通常tar针对目录的打包与备份,如果想要对整个文件系统进行备份与还原,就需要用到其它工具 ②本片文章介绍xfs文件系统的备份与还原 xfsdump:xfs文件系统的备份 xfsrestore:xfs文件系统的还原 所有命令以...
  • 目录 1.压缩文件案的用途 ...8.恢复备份文件:rostore 9.其他常见的压缩与备份工具:dd 1.压缩文件案的用途 压缩文件,顾名思义就是对文件进行压缩,通过一些技术手段在不改变信息内容的前提下减...
  • linux系统常见的压缩文件扩展名: *.Z compress程序压缩的文件 *.Zip Zip程序压缩的文件 *.gz gzip程序压缩的文件 *.bz2 bzip2 程序压缩的文件 *.xZ xZ程序压缩的文件 *.tar tar程序打包的数据,...
  • linux压缩和备份工具

    2018-08-11 16:06:13
    压缩工具 1.压缩文件常见的几种扩展名  *.Z compress 程序压缩的文件  *.gz gzip 程序压缩的文件  *.bz2 bzip2程序压缩的文件  *.tar tar程序打包的数据,并没有压缩过...
  • 【浅谈安卓系统备份文件ab格式解析】 在对安卓手机进行取证时,经常需要备份手机的应用程序数据,备份后得到的数据文件为ab格式。虽然大部分的取证软件都可以对ab文件进行分析,但是,有时候你可能需要解析ab文件的...
  • Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工 作,如磁盘操作、文件Linux提供了大量的命令,利用它可以有效地完成大量的工 作,如磁盘操作、文件存取、目录操作、进程管理...
  • Linux备份与压缩策略

    2013-05-06 09:07:18
    Linux备份与压缩策略 为什么学习这个? 由于现在的应用程序以及文件普遍越来越大,为了节省空间、减少网络传输代价,在备份过程中一般采用压缩技术。 1 打包程序tar tar命令本身只进行打包不进行压缩,主要功能...
  • Linux文件系统介绍: 一 、Linux文件结构  文件结构是文件存放在磁盘等存贮设备上的组织方法。主要体现在对文件和目录的组织上。目录提供了管理文件的一个方便而有效的途径。  Linux使用树状目录结构,在安装...
  • 要删除系统中就的备份文件,就需要使用命令了:  #find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} \;  假如在一个目录中保留最近30天的文件,30天前的文件自动删除  #find /t
  • Linux--dd命令

    2017-09-04 13:00:43
    当进行非强制的转换的时候,使用指定的输入和输出块大小拷贝文件 (默认是从标准输入到标准输出。) 它每次从输入读取指定大小的一个块(默认是512字节)。 如果使用 bs=bytes 选项,并且没有转换,除了指定 sync, ...
  • Linux基础篇–文件查找和压缩 本章内容概要 * 使用locate命令 * 使用find命令 * 压缩和解压缩工具 8.1 文件查找 在文件系统上查找符合条件的文件 文件查找:locate,find   非实时查找(数据库查找)...
  • Linux文件共享

    2019-06-16 18:35:43
    可以实现linux和unix系统之间的文件共享。在win7/win10系统中也可以访问nfs共享。支持基于IP的访问控制。 缺点: 不支持基于用户名的访问控制。即访问nfs共享时,无需输入用户名和密码。如果要解决此问题,可采用ftp...
  • Linux文件管理命令

    2017-10-08 22:51:24
    Linux系统信息存放在文件里,文件与普通的公务文件类似。每个文件都有自己的名字、内容、存放地址及其它一些管理信息,如文件的用户、文件的大小等。文件可以是一封信、一个通讯录,或者是程序的源语句、程序的数据...
  • Linux面试题 一、填空题 1. 在Linux 系统 中,以文件方式访问设备 。 2. Linux 内核引导时,从文件/etc/fstab中读取要加载的文件系统 。 3. Linux 文件系统中每个文件用indoe节点来标识。 4. 全部磁盘块由...
1 2 3 4 5 ... 20
收藏数 5,100
精华内容 2,040