收藏 分享(赏)

linux文件备份.docx

上传人:天天快乐 文档编号:431030 上传时间:2018-04-05 格式:DOCX 页数:13 大小:25.35KB
下载 相关 举报
linux文件备份.docx_第1页
第1页 / 共13页
linux文件备份.docx_第2页
第2页 / 共13页
linux文件备份.docx_第3页
第3页 / 共13页
linux文件备份.docx_第4页
第4页 / 共13页
linux文件备份.docx_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、1、 本 机 上 数 据 的 手 工 备 份Linux 系统上配有功能强大的 tar 命令,可以灵活地备份数据。tar 最初是为了制作磁带备份而设计的把文件和目录备份到磁带中,然后从磁带中提取或恢复文件。当然,现在我们可以使用 tar来备份数据到任何存储介质上。tar 非常易于使用稳定可靠,而且在任何 Linux 系统上都有这个命令。因此是最经常使用的备份工具。(1)使用 tar 命令备份数据的格式如下:$ tar cvf backup.tar /home/html 上述命令是将/home/html 目录下的所有文件打包成 tar 文件 backup.tar。cvf 是 tar 的命令参数。c

2、 代表创建一个档案文件,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这

3、样,我们可以得到压缩文件 backup.tar.gz。backup.tar.gz 是压缩的备份文件。2.本 机 数 据 的 自 动 备 份使用上术命令,我们可以手工备份数据,但是每天定时做这些操作比较繁琐。当然,linux 为我们提供了强大的工具来进行自动备份。这就是 cron。Cron 是一个后台进程,一旦启动,将根据自己的配置文件定时的执行任务。我们可以编写一个 shell 脚本文件进行文件备份,然后让 cron 定时的启动这个脚本文件来对数据进行备份。例如。我们每天备份/home/html 目录下的所有文件到/home/admin/backup/backup_xxxx 目录下。Xxxx

4、代表备份的日期。这个工作,可以编写一个如下的 shell 脚本 backup.sh 来进行:#!/bin/shcd/home/admin/backupyear=date+%Ymouth=date+%mday=date+%dnow=$year-$mouth-$daymkdir backup_$nowtar zcvf backup_$now/backup.tar.gz/home/html这个脚本在数据备份数据的时候,自动读取系统日期,然后以系统当前的日期建立一个新的目录,将备份的数据打包压缩放在这个目录中。我们可以在系统中通过执行:¥是backup.sh,完成备份工作。如果键入:$ckmod+x

5、backuk,可以将 backup.sh 设置为可运行。这样,我们可以直接通过键入$./backup.sh 来运行备份脚本文件了。一般情况下,我们希望在系统负载不是最大的时候来进行数据源备份。通常,我们可以选择每天的凌晨 3:00 来进行数据备份(这段时间,你的服务器访问的人数应该是最少的,根据实际情况来定这个时间) 。把一切工作交给 cron 吧。Cron 启动以后,它检查/var/spool/cron/目录中的配置文件来找到所要执行的任务和执行任务的时间,依据这些设定在规定的时间执行规定的任务。这个任务配置文件可以由 crontab -e 命令来编辑。其格式为每行代表一个任务和规定的执行时

6、间。每行由 6 哥域组成;分钟小时每月的天月星期命令上述 6 个域之间用空格或 Tab 分开,其中:分钟:分钟域,值得范围是 0 到 59小时:小时域,值的范围是 0 到 23每月的天:日期,值的范围是 1 到 12星期:星期,值的范围是 0 到 6,星期日值为 0 命令。所要运行的命令特别的,如果一个域是“*” ,表明命令可以再该域所有可能的取值范围内执行。如果一个域是有连接字符隔开的两个数字,表明命令可以再两个数字之间的范围内执行(包括起止的两个数值本身) 。如果一个域是由逗号隔开的一系列值组成的,表明命令可以在这些值组成的范围内执行。现在,我们编写一个文件,用以在每天的凌晨3:00 启动

7、备份 shell 程序。键入:crontab e 命令,然后输入:03*backup.sh 输入完成后,存盘退出。键入 crontab -1 来检查刚才的输入是否正确。好了,这样只要 Linux 服务不关机,每天凌晨 3:00cron 都会自动启动 backup.sh 脚本来对数据进行备份的。你就可以高枕无忧了。FMS 的备份方法一、备份数据说明:Foxmail Server 系统的数据分为以下几种:邮件数据:存在于系统相应目录中。这是比较重要的数据,主要是存放所有用户的邮件内容,邮件信息,邮箱信息,过滤器信息。目录结构为:邮件数据存放根目录/服务域名/用户帐号第一个字母小写/用户帐号/邮箱结

8、构。例如,在默认安装的情况下一个在 域中的 admin 用户他的邮箱目录为:/home/webmail/ 用户信息数据:存在于数据库中。存放的是用户的个人信息,如用户名,密码等。用户地址本数据:存在与 OPENLDAP 中。主要是用来存放用户的地址本信息。在默认安装的情况下,数据存放在/usr/local/var/openldap-ldbm 日志文件:包括邮件服务器日志文件,WEB 服务器日志文件等,存在于各个服务器相关目录中。在默认安装的情况下,WEB服务器的日志文件会存放在/usr/local/resin/log;邮件服务器的日志文件回存放在/var/log/qmail 的目录中。临时数

9、据:存放在系统临时目录中,通常是/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

10、 其中 xxx 是一个事件注释。对用户信息从数据库中倒出,备份。具体命令是:mysqldump u数据库用户名 p数据库密码 数据库名 userdata.sql默认情况下,系统安装的数据库用户名,密码和数据库名都是:qmail导出后,请把 userdata.sql 移动到备份数据存放目录中。具体命令:cd /home/foxmail/backupmysqldump uqmail pqmail qmail xxx_userdata.sql或者直接把数据库目录打包备份,在 mysql 数据库存放数据的目录下可以看到一个名叫 qmail 的数据库,用户可以用上面的打包方式对 qmail 数据库进行数

11、据备份。对地址本数据进行备份。对 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/loca

12、l/etc/openldap/slapd.conf 文件中插入:sizelimit 50000对日志文件进行备份。通常是备份邮件服务器日志和 WEB 服务器日志。默认情况下,邮件服务器日志目录为/var/log/qmail/,而 WEB 服务器日志存放于/usr/local/resin/log/目录下。请把相关文件打包,移动到日志存放目录中。对临时数据进行删除。在系统运行了一段时间后,系统数据目录中,会积累了一定容量的临时数据。为了提高系统的效率和空余系统磁盘空间,请把临时数据删除。具体方法是:把 FoxmailServer 停掉,命令 FoxmailServer stop;把临时目录中的所有

13、目录删除(默认在/tmp/webuser/下) ,进入/tmp/webuser/,把这个目录中的所有目录和文件,一并删除。三、用 cron 对 FMS 进行数据备份1、增加 cron 纪录:crontabe增加纪录行:0 3 * * * /home/foxmail/bin/backup.sh2、创建脚本:/home/foxmail/bin/backup.sh#!/bin/shyear=date +%Ymonth=date +%mday=date +%dnow=$year-$month-$daymkdir /home/foxmail/backup/$nowcd /home/mysql/data/

14、tar zcvf /home/foxmail/backup/$now/mysql_qmail.tar.gz qmailcd /usr/local/var/tar zcvf /home/foxmail/backup/$now/openldap-ldbm.tar.gz openldap-ldbmtar zcvf /home/foxmail/backup/$now/openldap-slurp.tar.gz openldap-slurpcd /home/tar zcvf /home/foxmail/backup/$now/webmail.tar.gz webmail通过以上两个步骤就可以在每天三时对

15、系统数据做一个备份,不过在大用户量的情况下,就不必对 webmail 做每天的备份,因为这样很快就会占满所有硬盘空间。可以backup.sh 中把相应的行注释掉。数据备份方法说明:当系统出现灾难性故障,可以通过恢复备份数据来恢复系统,步骤如下:把邮件数据备份包 maildata.tar 恢复到系统的邮件数据存放目录中;把用户信息备份文件 userdata.sql 恢复到数据库中,具体方法是:用数据库帐号进入数据库(默认为qmail) ;通过命令 show tables 获取所有表信息;通过命令 drop table 表名,把所有表删除;退出数据库;通过命令 mysql u用户名 p用户密码 数

16、据库名 userdata.sql,重新把备份数据导入数据库。把地址本备份信息覆盖原来的数据文件,默认情况是/usr/local/var 下的 openldap的相关文件。小结实际备份脚本 backup.sh:#!/bin/shyear=date +%ymonth=date +%mday=date +%dnow=$year-$month-$dayexp tbpf/tbpfora9i file=/home2/tbpf_backup/TbpfDB$now.dmp owner=tbpfcd /home2/tbpf_backup/tar zcvf /home2/tbpf_backup/tbpf_back

17、up_tar/TbpfDB$now.tar.gz TbpfDB$now.dmprm -rf TbpfDB$now.dmpte +%mday=date +%dnow=$year-$month-$dayexp tbpf/tbpfora9i file=/home2/tbpf_backup/TbpfDB$now.dmp owner=tbpfcd /home2/tbpf_backup/tar zcvf /home2/tbpf_backup/tbpf_backup_tar/TbpfDB$now.tar.gz TbpfDB$now.dmprm -rf TbpfDB$now.dmp备 份 成 DMP 数 据

18、包一 、 导 出 :1.如 果 是 整 个 数 据 库exp system/mangersid full=y buffer=32726 file=d:oracle_bakdata.dmp;2.是 用 户 级 备 份exp scott/tigerDSID file=d:oracle_bakdata.dmp users(scott) buffer=2048;3.是 表 备 份exp scott/tigerSID file=d:oracle_bakdate.dmp tables(emp,dept) buffer=2048;4.是 表 空 间 备 份exp system/mangersid file=

19、d:oracle_bakdate.dmp tablespaces(users,system) buffer=2048;5. 远 程exp scott/tiger192.168.0.1:1521/kims file=e:dc.dmp二 、 导 入 :imp aichannel/aichannelHUST full=y file=d:datanewsmgnt.dmp ignore=yOracle 数 据 导 入 导 出 imp/exp 就 相 当 于 oracle 数 据 还 原 与 备 份 。exp 命 令 可 以 把 数 据 从 远 程 数 据 库 服 务 器 导 出 到 本 地 的 dmp

20、文 件 , imp 命令 可 以 把 dmp 文 件 从 本 地 导 入 到 远 处 的 数 据 库 服 务 器 中 。 利 用 这 个 功 能可 以 构 建 两 个 相 同 的 数 据 库 , 一 个 用 来 测 试 , 一 个 用 来 正 式 使 用 。执 行 环 境 : 可 以 在 SQLPLUS.EXE 或 者 DOS( 命 令 行 ) 中 执 行 ,DOS 中 可 以 执 行 时 由 于 在 oracle 8i 中 安 装 目 录 ora81BIN 被 设 置为 全 局 路 径 ,该 目 录 下 有 EXP.EXE 与 IMP.EXE 文 件 被 用 来 执 行 导 入 导 出 。o

21、racle 用 java 编 写 , SQLPLUS.EXE、 EXP.EXE、 IMP.EXE 这 两 个 文 件 有可 能 是 被 包 装 后 的 类 文 件 。SQLPLUS.EXE 调 用 EXP.EXE、 IMP.EXE 所 包 裹 的 类 , 完 成 导 入 导 出 功 能 。下 面 介 绍 的 是 导 入 导 出 的 实 例 。数 据 导 出 :1 将 数 据 库 TEST 完 全 导 出 ,用 户 名 system 密 码 manager 导 出 到D:daochu.dmp 中exp system/managerTEST file=d:daochu.dmp full=y2 将

22、数 据 库 中 system 用 户 与 sys 用 户 的 表 导 出exp system/managerTEST file=d:daochu.dmp owner=(system,sys)3 将 数 据 库 中 的 表 inner_notify、 notify_staff_relat 导 出exp aichannel/aichannelTESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat) 4 将 数 据 库 中 的 表 table1 中 的 字 段 filed1 以 “00“打 头 的 数 据 导

23、出exp system/managerTEST file=d:daochu.dmp tables=(table1) query=“ where filed1 like 00%“上 面 是 常 用 的 导 出 , 对 于 压 缩 , 既 用 winzip 把 dmp 文 件 可 以 很 好 的 压缩 。也 可 以 在 上 面 命 令 后 面 加 上 compress=y 来 实 现 。数 据 的 导 入1 将 D:daochu.dmp 中 的 数 据 导 入 TEST 数 据 库 中 。imp system/managerTEST file=d:daochu.dmpimp aichannel/a

24、ichannelHUST full=y file=d:datanewsmgnt.dmp ignore=y 上 面 可 能 有 点 问 题 , 因 为 有 的 表 已 经 存 在 , 然 后 它 就 报 错 , 对 该 表就 不 进 行 导 入 。在 后 面 加 上 ignore=y 就 可 以 了 。2 将 d:daochu.dmp 中 的 表 table1 导 入imp system/managerTEST file=d:daochu.dmp tables=(table1) 基 本 上 上 面 的 导 入 导 出 够 用 了 。 不 少 情 况 要 先 是 将 表 彻 底 删 除 , 然 后

25、导 入 。注 意 :操 作 者 要 有 足 够 的 权 限 , 权 限 不 够 它 会 提 示 。数 据 库 时 可 以 连 上 的 。 可 以 用 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,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报