为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Linux文件备份

2017-09-20 8页 doc 41KB 38阅读

用户头像

is_153723

暂无简介

举报
Linux文件备份1、本机上数据的手工备份     Linux系统上配有功能强大的tar命令,可以灵活地备份数据。tar最初是为了制作磁带备份而设计的把文件和目录备份到磁带中,然后从磁带中提取或恢复文件。当然,现在我们可以使用tar 来备份数据到任何存储介质上。tar非常易于使用稳定可靠,而且在任何Linux系统上都有这个命令。因此是最经常使用的备份工具。 (1)使用tar命令备份数据的格式如下:     $ tar cvf backup.tar /home/html  上述命令是将/home/html 目录下的所有文件打包成tar文件back...
Linux文件备份
1、本机上数据的手工备份     Linux系统上配有功能强大的tar命令,可以灵活地备份数据。tar最初是为了制作磁带备份而设计的把文件和目录备份到磁带中,然后从磁带中提取或恢复文件。当然,现在我们可以使用tar 来备份数据到任何存储介质上。tar非常易于使用稳定可靠,而且在任何Linux系统上都有这个命令。因此是最经常使用的备份工具。 (1)使用tar命令备份数据的格式如下:     $ tar cvf backup.tar /home/html  上述命令是将/home/html 目录下的所有文件打包成tar文件backup.tar。     cvf是tar的命令参数。     c代表创建一个档案文件,     v代表显示每个备份的文件名字, f表示tar创建的档案文件名是后面的backup.tar /home/html 代表tar要备份的文件或和目录名。   (2)使用tar命令恢复数据的格式如下: $ tar xvf backup.tar  上述命令将备份文件backup.tar恢复到当前目录下。 通常情况下,tar对文件进行备份的时候并不对文件进行压缩,因此备份文件的尺寸非常大。使用如下的命令, 将使tar在备份结束以后,自动使用gzip命令对备份文件进行压缩,得到一个相应的gz文件        $  tar zcvf backup.tar.gz /home/html 这样,我们可以得到压缩文件backup.tar.gz。backup.tar.gz是压缩的备份文件。 2.本机数据的自动备份 使用上术命令,我们可以手工备份数据,但是每天定时做这些操作比较繁琐。当然,linux为我们提供了强大的工具来进行自动备份。这就是cron。 Cron是一个后台进程,一旦启动,将根据自己的配置文件定时的执行任务。我们可以编写一个shell脚本文件进行文件备份,然后让cron定时的启动这个脚本文件来对数据进行备份。 例如。我们每天备份/home/html目录下的所有文件到/home/admin/backup/backup_xxxx目录下。Xxxx代表备份的日期。这个工作,可以编写一个如下的shell脚本backup.sh来进行: #!/bin/sh cd/home/admin/backup year=date+%Y mouth=date+%m day=date+%d now=$year-$mouth-$day mkdir backup_$now tar zcvf backup_$now/backup.tar.gz/home/html 这个脚本在数据备份数据的时候,自动读取系统日期,然后以系统当前的日期建立一个新的目录,将备份的数据打包压缩放在这个目录中。我们可以在系统中通过执行:¥是backup.sh,完成备份工作。如果键入:$ckmod+x backuk,可以将backup.sh设置为可运行。这样,我们可以直接通过键入$./backup.sh来运行备份脚本文件了。一般情况下,我们希望在系统负载不是最大的时候来进行数据源备份。通常,我们可以选择每天的凌晨3:00来进行数据备份(这段时间,你的服务器访问的人数应该是最少的,根据实际情况来定这个时间)。把一切工作交给cron吧。Cron启动以后,它检查/var/spool/cron/目录中的配置文件来找到所要执行的任务和执行任务的时间,依据这些设定在的时间执行规定的任务。 这个任务配置文件可以由crontab -e 命令来编辑。 其格式为每行代表一个任务和规定的执行时间。 每行由6哥域组成; 分钟小时每月的天月星期命令 上述6个域之间用空格或Tab分开,其中: 分钟:分钟域,值得范围是0到59 小时:小时域,值的范围是0到23 每月的天:日期,值的范围是1到12 星期:星期,值的范围是0到6,星期日值为0 命令。 所要运行的命令特别的,如果一个域是“*”,表明命令可以再该域所有可能的取值范围内执行。如果一个域是有连接字符隔开的两个数字,表明命令可以再两个数字之间的范围内执行(包括起止的两个数值本身)。如果一个域是由逗号隔开的一系列值组成的,表明命令可以在这些值组成的范围内执行。现在,我们编写一个文件,用以在每天的凌晨3:00启动备份shell程序。 键入:crontab –e 命令, 然后输入:03***backup.sh输入完成后,存盘退出。 键入crontab -1 来检查刚才的输入是否正确。好了,这样只要Linux服务不关机,每天凌晨3:00cron都会自动启动backup.sh脚本来对数据进行备份的。你就可以高枕无忧了。     FMS的备份方法     一、备份数据说明:     Foxmail Server系统的数据分为以下几种:     邮件数据:存在于系统相应目录中。这是比较重要的数据,主要是存放所有用户的邮件内容,邮件信息,邮箱信息,过滤器信息。     目录结构为:[邮件数据存放根目录]/[服务域名]/[用户帐号第一个字母小写]/[用户帐号]/[邮箱结构]。例如,在默认安装的情况下一个在bodachina.com域中的admin用户他的邮箱目录为:/home/webmail/bodachina.com/a/admin用户信息数据:存在于数据库中。存放的是用户的个人信息,如用户名,密码等。     用户地址本数据:存在与OPENLDAP中。主要是用来存放用户的地址本信息。在默认安装的情况下,数据存放在/usr/local/var/openldap-ldbm日志文件:包括邮件服务器日志文件,WEB服务器日志文件等,存在于各个服务器相关目录中。在默认安装的情况下,WEB服务器的日志文件会存放在/usr/local/resin/log;邮件服务器的日志文件回存放在/var/log/qmail的目录中。     临时数据:存放在系统临时目录中,通常是/tmp/webuser目录,用来存放系统的临时数据。     二、数据备份方法说明     数据备份分为以下:     建立备份数据存放目录、日志存放目录。用户可以把备份数据存放在/home/foxmail/backup;对邮件数据进行打包。根据不同的系统安装情况,邮件数据目录可能不同。默认情况下,邮件数据目录被定在/home/webmail/下。具体情况请查阅系统安装。打包命令:     cd /home/     tar vcvf maildata.tar.gz webmail mv maildata.tar.gz /home/foxmail/backup/xxx_maildata.tar.gz其中xxx是一个事件注释。     对用户信息从数据库中倒出,备份。具体命令是:mysqldump –u[数据库用户名] –p[数据库密码] [数据库名] > userdata.sql     默认情况下,系统安装的数据库用户名,密码和数据库名都是:qmail     导出后,请把userdata.sql移动到备份数据存放目录中。具体命令:     cd /home/foxmail/backup     mysqldump –uqmail –pqmail qmail >xxx_userdata.sql     或者直接把数据库目录打包备份,在mysql数据库存放数据的目录下可以看到一个名叫qmail的数据库,用户可以用上面的打包方式对qmail数据库进行数据备份。     对地址本数据进行备份。对OPENLDAP的数据目录进行打包。默认情况下是 /usr/local/var/目录,具体命令:tar zcvf addrdata.tar.gz [LDAP数据目录名],并把数据包移动到备份数据存放目录下,方法与上面类似。或者用户可以使用OPENLDAP的命令进行备份:ldapsearch –b ‘o=FOXMAIL’ objectclass=* -x –H ldap://192.168.1.227:1212 >ldapdata.ldif如果用户地址本数据太多能会出现搜索上限问题,可以修改OPENLDAP的配置文件来解决这个问题。修改方法是:在/usr/local/etc/openldap/slapd.conf文件中插入:     sizelimit 50000     对日志文件进行备份。通常是备份邮件服务器日志和WEB服务器日志。默认情况下,邮件服务器日志目录为/var/log/qmail/,而WEB服务器日志存放于/usr/local/resin/log/目录下。请把相关文件打包,移动到日志存放目录中。     对临时数据进行删除。在系统运行了一段时间后,系统数据目录中,会积累了一定容量的临时数据。为了提高系统的效率和空余系统磁盘空间,请把临时数据删除。具体方法是:把FoxmailServer停掉,命令FoxmailServer stop;把临时目录中的所有目录删除(默认在/tmp/webuser/下),进入/tmp/webuser/,把这个目录中的所有目录和文件,一并删除。     三、用cron对FMS进行数据备份     1、增加cron纪录:     crontab–e     增加纪录行:0 3 * * * /home/foxmail/bin/backup.sh     2、创建脚本:/home/foxmail/bin/backup.sh     #!/bin/sh     year=`date +%Y`     month=`date +%m`     day=`date +%d`     now=$year-$month-$day     mkdir /home/foxmail/backup/$now     cd /home/mysql/data/     tar zcvf /home/foxmail/backup/$now/mysql_qmail.tar.gz qmail     cd /usr/local/var/     tar zcvf /home/foxmail/backup/$now/openldap-ldbm.tar.gz openldap-ldbm     tar zcvf /home/foxmail/backup/$now/openldap-slurp.tar.gz openldap-slurp     cd /home/     tar zcvf /home/foxmail/backup/$now/webmail.tar.gz webmail     通过以上两个步骤就可以在每天三时对系统数据做一个备份,不过在大用户量的情况下,就不必对webmail做每天的备份,因为这样很快就会占满所有硬盘空间。可以backup.sh中把相应的行注释掉。     数据备份方法说明:     当系统出现灾难性故障,可以通过恢复备份数据来恢复系统,步骤如下:     把邮件数据备份包maildata.tar恢复到系统的邮件数据存放目录中;把用户信息备份文件userdata.sql恢复到数据库中,具体方法是:用数据库帐号进入数据库(默认为qmail);通过命令show tables获取所有表信息;通过命令drop table [表名],把所有表删除;退出数据库;通过命令mysql –u[用户名] –p[用户密码] [数据库名] < userdata.sql,重新把备份数据导入数据库。     把地址本备份信息覆盖原来的数据文件,默认情况是/usr/local/var下的openldap的相关文件。     小结     实际备份脚本backup.sh:     #!/bin/sh     year=`date +%y`     month=`da     te +%m`     day=`date +%d`     now=$year-$month-$day     exp tbpf/tbpf@ora9i file=/home2/tbpf_backup/TbpfDB$now.dmp owner=tbpf     cd /home2/tbpf_backup/     tar zcvf /home2/tbpf_backup/tbpf_backup_tar/TbpfDB$now.tar.gz TbpfDB$now.dmp     rm -rf TbpfDB$now.dmp     te +%m`     day=`date +%d`     now=$year-$month-$day     exp tbpf/tbpf@ora9i file=/home2/tbpf_backup/TbpfDB$now.dmp owner=tbpf     cd /home2/tbpf_backup/     tar zcvf /home2/tbpf_backup/tbpf_backup_tar/TbpfDB$now.tar.gz TbpfDB$now.dmp     rm -rf TbpfDB$now.dmp 备份成dmp数据包 一、导出: 1.如果是整个数据库 exp system/manger@sid full=y buffer=32726 file=d:\oracle_bak\data.dmp; 2.是用户级备份 exp scott/tiger@DSID file=d:\oracle_bak\data.dmp users(scott) buffer=2048; 3.是表备份 exp scott/tiger@SID file=d:\oracle_bak\date.dmp tables(emp,dept) buffer=2048; 4.是表空间备份 exp system/manger@sid file=d:\oracle_bak\date.dmp tablespaces(users,system) buffer=2048; 5. 远程 exp scott/tiger@192.168.0.1:1521/kims file=e:\dc.dmp 二、导入: imp aichannel/aichannel@HUST full=y  file=d:\data\newsmgnt.dmp ignore=y Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于 在oracle 8i 中  安装目录\ora81\BIN被设置为全局路径, 该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。 oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。 SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。 下面介绍的是导入导出的实例。 数据导出: 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中   exp system/manager@TEST file=d:\daochu.dmp full=y 2 将数据库中system用户与sys用户的表导出   exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys) 3 将数据库中的表inner_notify、notify_staff_relat导出     exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat) 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出   exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"     上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。   也可以在上面命令后面 加上 compress=y 来实现。 数据的导入 1 将D:\daochu.dmp 中的数据导入 TEST数据库中。   imp system/manager@TEST  file=d:\daochu.dmp   imp aichannel/aichannel@HUST full=y  file=d:\data\newsmgnt.dmp ignore=y   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。   在后面加上 ignore=y 就可以了。 2 将d:\daochu.dmp中的表table1 导入 imp system/manager@TEST  file=d:\daochu.dmp  tables=(table1) 基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。 注意: 操作者要有足够的权限,权限不够它会提示。 数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。 附录一: 给用户增加导入数据权限的操作 第一,启动sql*puls 第二,以system/manager登陆 第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略) 第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,   DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,       DBA,CONNECT,RESOURCE,CREATE SESSION  TO 用户名字 第五, 运行-cmd-进入dmp文件所在的目录,       imp userid=system/manager full=y file=*.dmp       或者 imp userid=system/manager full=y file=filename.dmp 执行示例: F:\Work\Oracle_Data\backup>imp userid=test/test full=y file=inner_notify.dmp 屏幕显示 Import: Release 8.1.7.0.0 - Production on 星期四 2月 16 16:50:05 2006 (c) Copyright 2000 Oracle Corporation.  All rights reserved. 连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production With the Partitioning option JServer Release 8.1.7.0.0 - Production 经由常规路径导出由EXPORT:V08.01.07创建的文件 已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入 导出服务器使用UTF8 NCHAR 字符集 (可能的ncharset转换) . 正在将AICHANNEL的对象导入到 AICHANNEL . . 正在导入表                  "INNER_NOTIFY"          4行被导入 准备启用约束条件... 成功终止导入,但出现警告。 附录二: Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的.   先建立import9.par,   然后,使用时命令如下:imp parfile=/filepath/import9.par   例 import9.par 内容如下: FROMUSER=TGPMS                TOUSER=TGPMS2    (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)                  ROWS=Y         INDEXES=Y         GRANTS=Y         CONSTRAINTS=Y         BUFFER=409600         file==/backup/ctgpc_20030623.dmp         log==/backup/import_20030623.log 授权DBA grant dba to scott
/
本文档为【Linux文件备份】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索