Username: Password:

网管经验谈:Linux下巧做硬盘分区映像
来源: ChinaUnix博客  作者: 发布时间:2007-01-01 22:20:00

【IT168 专稿】为了系统的安全,我们经常要用到各种备份工具软件。Mirrordir官方网址:http://mirrordir.sourceforge.net/ 他的工具功能比较强大,比较适合作能做硬盘和分区映像。
一、 软件下载安装:
    mirrordir有三种包提供,一种是rpm的,这种包能直接安装;另外就是源码包;src.rpm和tar包。本文是采用RPM包安装的方法。
    # wget http://mirrordir.sourceforge.net/mirrordir-0.10.49-1.i386.rpm
    #rpm -ivh mirrordir-0.10.49-1.i386.rpm
二、分区映像操纵
    假如我想为/dev/hda1中的home目录做一个映像到/dev/hdb9磁盘做一个home的映像;因为关系到安全,比如把/dev/hda的磁盘的东西都删除了,所以在同一个磁盘内做映像意义不是太大。所以最好把要映像的硬盘分区放在其他的硬盘分区中。
   1. Linux的硬盘分区规定
    设备管理
    在 Linux 中,每一个硬件设备都映射到一个系统的文档,对于硬盘、光驱等 IDE 或 SCSI 设备也不例外。Linux 把各种 IDE 设备分配了一个由 hd 前缀组成的文档;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文档。例如,第一个 IDE 设备,Linux 就定义为 hda;第二个 IDE 设备就定义为 hdb;下面以此类推。而 SCSI 设备就应该是 sda、sdb、sdc 等。
    分区数量
    要进行分区就必须针对每一个硬件设备进行操作,这就有可能是一块IDE硬盘或是一块SCSI硬盘。对于每一个硬盘(IDE 或 SCSI)设备,Linux 分配了一个 1 到 16 的序列号码,这就代表了这块硬盘上面的分区号码。例如第一个 IDE 硬盘的第一个分区,在 Linux 下面映射的就是 hda1,第二个分区就称作是 hda2。对于 SCSI 硬盘则是 sda1、sdb1 等。
    各分区的作用
    在 Linux 中规定,每一个硬盘设备最多能有 4 个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4 个。对于早期的 DOS 和 Windows(Windows 2000 以前的版本),系统只承认一个主分区,能够通过在扩展分区上增加逻辑盘符(逻辑分区)的方法,进一步地细化分区。
    主分区的作用就是电脑用来进行启动操作系统的,因此每一个操作系统的启动,或称作是引导程式,都应该存放在主分区上。这就是主分区和扩展分区及逻辑分区的最大区分。Linux 规定了主分区(或扩展分区)占用 1 至 16 号码中的前 4 个号码。以第一个 IDE 硬盘为例说明,主分区(或扩展分区)占用了 hda1、hda2、hda3、hda4,而逻辑分区占用了 hda5 到 hda16 等 12 个号码。因此,Linux 下面每一个硬盘总共最多有 16 个分区。
    对于逻辑分区,Linux 规定他们必须建立在扩展分区上而不是主分区上。因此,我们能够看到扩展分区能够提供更加灵活的分区模式,但不能用来作为操作系统的引导。
2.首先我们要挂载/dev/hdb9
    我们在/dev/hda1的磁盘中,也就是当前的操作系统中建一个目录hdb9
    # mkdir /mnt/hdb9 ##见目录
    然后我们挂载/dev/hdb9
    #mount /dev/hdb9 /mnt/hdb9
   3.操作一个映像一个目录
    本文是操作/dev/hda1的一个目录/home,所以我们也要在/mnt/hda9已挂载的磁盘分区中建一个/home目录。
    #mkdir /mnt/hdb9/home
    # mirrordir /home /mnt/hda9/home
    这样就成功完成操纵。我们可能查看一下/mnt/hdb9中,能够发现home目录的存在,和映像源的home目录是相同的。
    4.恢复分区
    假如我们在/dev/hda7中的目录/home里面的东西都被破坏了,我们就能够用mirrordir来恢复他。命令很简单。
    # mirrordir /mnt/hda9/home /home
三、 自动化备份
    1.corn服务配置简介
    系统管理员通常需要在每天,每周,每月做备份和运行其他的进程。虽然这些进程都能够手工运行,但是通常都需要安排他们自动运行。cron守护进程的作用就在和此。cron守护进程在系统引导的时候和系统管理员和其他用户执行时间调度任务提交的时候启动。您能够用ps 命令来检查是否cron守护进程正在运行。
    # ps ?ef |grep cron?? #cron?谠诵新?
    能够用以下的方法启动、关闭这个服务:
    /sbin/service crond start //启动服务
    /sbin/service crond stop //关闭服务
    /sbin/service crond restart //重启服务
    /sbin/service crond reload //重新载入配置
    您也能够将这个服务在系统启动的时候自动启动:
    #ntsysv
    打开如图-1所示的窗口,在crond服务选项加上*(用空格键),然后重新启动系统,这样系统会启动cron服务。

    现在Cron这个服务已在进程里面了,我们就能够用这个服务了。cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数和说明:
    crontab命令用来操作每个用户的守护程式和该执行的时间表,使用权限是任何用户。
    格式:crontab [ -u user ] 文档
    crontab [ -u user ] { -l | -r | -e }
    主要参数:
    -u :设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数。
    -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 vi。
    -r : 删除现在的时程表 。
    -l : 列出现在的时程表。
    比如说root查看自己的cron配置:crontab -u root -l
    再例如,root想删除fred的cron配置:crontab -u fred -r
    在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e
    进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
    这个格式的前一部分是对时间的设定,后面一部分是要执行的命令,假如要执行的命令太多,能够把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就能够了,调用的时候记得写出命令的完整路径。时间的设定我们有一定的约定,前面五个*号代表五个数字,数字的取值范围和含义如下:
    分钟 (0-59)
    小? (0-23)
    日期 (1-31)
    月份 (1-12)
    星期 (0-6)//0代表星期天
    除了数字更有几个个特别的符号就是"*"、"/"和"-"、",",*代表任何的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。
2.使用cron调用nirrordir命令
    (1)首先在/usr/local/sbin目录下建立一个脚本文档mirror.sh,内容如下:
    #!/bin/sh
    #
    # mirror.sh: 映像the /home 分区到第二块分区
    mount /dev/hdb9 /mnt/hdb9
    mirrordir /home /mnt/hda9/home
    /bin/umount /mnt/hdb9
    (2)建立定时器配置文档:
    #crontab -e
    此时启动vi编辑器,输入以下内容:
    0 * * * * /usr/local/sbin/mirror.sh
    用vi编辑器存盘退出。这时在/var/spool/cron/目录下会生产一个root的文档。
    (3)使用 crontab命令添加到任务列表中:
    #crontab -u root
    这样用户在每天的0点自动进行分区备份。




喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅