Linux作为新一代网络操作系统,在服务器方面的应用越来越广泛。作为专门的网络服务器,一个重要功能就是对服务器数据进行备份,以确保数据的安全。本文将介绍在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`

month=`date +%m`

day=`date +%d`

now=$year-$month-$day

mkdir backup_$now

tar zcvf backup_$now/backup.tar.gz /home/html

这个脚本在备份数据的时候,自动读取系统日期,然后以系统当前的日期建立一个新的目录,将备份的数据打包压缩放在这个目录中。我们可以在系统中通过执行:$sh backup.sh ,完成备份工作。如果键入:$chmod +x backup.sh ,可以将backup.sh设置为可运行。这样,我们就可以直接通过键入$./backup.sh来运行备份脚本文件了。一般情况下,我们希望在系统负载不是最大的时候来进行数据备份。通常,我们可以选择每天的凌晨3:00来进行数据备份(这段时间,你的服务器访问的人数应该最少吧?)。把一切工作交给cron吧。 cron启动以后,它检查/var/spool/cron/目录中的配置文件来找到所要执行的任务和执行任务的时间,依据这些设定在规定的时间执行规定的任务。

这个任务配置文件可以由crontab -e 命令来编辑。

其格式为每行代表一个任务和规定的执行时间。

每行由6个域组成:

分钟小时每月的天月星期命令

上述6个域之间用空格或Tab分开,其中:

分钟:分钟域,值的范围是0到59

小时:小时域,值的范围是0到23

每月的天:日期,值的范围是1到31

月份:月份,值的范围是1到12

星期:星期,值的范围是0到6,星期日值为0 命令。

所要运行的命令特别的,如果一个域是’*’,表明命令可以在该域所有可能的取值范围内执行。如果一个域是由连字符隔开的两个数字,表明命令可以在两个数字之间的范围内执行(包括起止两个数字本身)。如果一个域是由逗号隔开的一系列值组成的,表明命令可以在这些值组成的范围内执行。现在,我们编写一个文件,用以在每天的凌晨3:00启动备份shell程序。

键入:crontab -e 命令,

然后输入: 0 3 * * * backup.sh 输入完成后,存盘退出。

键入crontab -l 来检查刚才的输入是否正确。好了,这样只要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的相关文件。

小结以上是FMS的数据备份方法,如果有不清楚的地方可以与我们联系,我们将解答你们的问题。

foxmail for linux 64,foxmail server 1.2 for linux数据备份手册_邮件服务器相关推荐

  1. linux 64位内存划分,linux 64位内存空间大小?(linux 64 bits memory space size? [closed])

    linux 64位内存空间大小?(linux 64 bits memory space size? [closed]) 在Linux 32bit中,内核占用1GB的内存,而用户空间将占用剩余的gigs ...

  2. Linux网络服务_邮件服务器-Redhat Enterprise 5.9

    Linux网络服务_邮件服务器-Redhat Enterprise 5.9 案例环境: 邮件服务器:mail.tarena.com192.168.1.100 邮件域:@tarena.com 邮件账号: ...

  3. steam linux 64位,Valve可能会很快为Linux发布原生64位Steam客户端

    原标题:Valve可能会很快为Linux发布原生64位Steam客户端 Valve在今天发布了一款针对Windows.Mac和Linux平台的全新稳定版本的Steam客户端,仅做了两项改动,其中一项改 ...

  4. openfire linux 64,openfire在windows环境和linux环境下的配置

    一般很多时候开发人员会用openfire作为消息推送或者即时通讯的服务器,下面主要介绍一下openfire在windows环境和linux环境下的配置. 一.openfire在windows环境下的配 ...

  5. linux 邮件服务器pop3,linux下用pop3收web电子邮箱_邮件服务器

    FreePOPs是一个集成了POP3后台程序.LUA解译器和其他一些额外的HTTP及HTML分解库的实用工具,目前的最新版本是0.0.10版.现在FreePOPs有Windows.Linux和Mac ...

  6. magic winmail邮件服务器,使用magic winmail server轻松架设邮件服务器(三)_邮件服务器...

    在安装完成后,管理员必须对系统进行一些初始化设置,系统才能正常运行.服务器在启动时如果发现还没有设置域名会自动运行快速设置向导,用户可以用它来简单快速的设置邮件服务器.当然用户也可以不用快速设置向导, ...

  7. sql如何重命名实例_重命名Ubuntu Linux上SQL Server实例

    sql如何重命名实例 In my previous articles, we installed the SQL Server 2019 CTP 2.1 on Ubuntu Linux. You ca ...

  8. Linux上SQL Server 2019和Ubuntu上的Docker容器

    In the first article of the series on SQL Server 2019 and Ubuntu, we prepared the virtual machine en ...

  9. 具有Ubuntu和Azure Data Studio的Linux上SQL Server 2019

    In the previous articles of this series on using SQL Server 2019 on Ubuntu, we have explored the fol ...

最新文章

  1. jquery选择器的使用方式
  2. 牛逼哄洪的 Java 8 Stream,性能也牛逼么?
  3. 三维重建的核心模块有哪些?
  4. 如何用Java做玫瑰花数_c语言如何输出玫瑰花数?(代码示例)
  5. Docker Review - docker images 常用命令
  6. 【Tensorflow】io 操作
  7. Java Inner Class 内部类
  8. html option ajax,Ajax实现简单下拉选项效果【推荐】
  9. 解决AS3 Socket编程中最令人头疼的问题
  10. Adobe正式在中国市场推出Creative Cloud创意应用软件
  11. spark稀疏向量与稠密向量
  12. TypeError: to_categorical() got an unexpected keyword argument 'nb_classes'
  13. python基础--面向对象之封装
  14. 玩转Metasploit系列(第二集)
  15. C# 标准ASCII 码表
  16. 如何快速统计考勤(bushi)
  17. 又一位华为工程师倒下了 程序员的世界怎么了?
  18. 3无重复字符的最长子串longest-substring-without-repeating-characters
  19. 计算机网络安全 填空题,计算机网络安全技术选择填空复习题
  20. docker中容器与容器之间通讯

热门文章

  1. 2017-10-17离线赛
  2. Joshua Bloch离开Google了,Dart前景堪忧
  3. 武汉卫星地图商用级别19级 来自百度卫星地图
  4. 《高质量读研:教你如何写论文、做科研》- 张军平
  5. 培训班出身的前端,出路在哪儿?
  6. 从职校到前端培训班经历(三)
  7. Luminar 4:AI 天空更换
  8. 北科大计算机与通信工程博士,2015年北科大计算机与通信工程学院考研拟录取名单...
  9. 【C语言】C语言操作符的分类及应用【超详细讲解】
  10. JVM 菜鸟进阶高手之路十一(eden survivor分配问题)