所要运行的命令特别的,如果一个域是‘*’,表明命令可以在该域所有可能的取值范围内执行。如果一个域是由连字符隔开的两个数字,表明命令可以在两个数字之间的范围内执行(包括起止两个数字本身)。如果一个域是由逗号隔开的一系列值组成的,表明命令可以在这些值组成的范围内执行。现在,我们编写一个文件,用以在每天的凌晨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的相关文件。

小结

实际备份脚本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


相关内容