欢迎来到电脑知识学习网,专业的电脑知识大全学习平台!

手机版

自动备份Linux/Unix服务器的数据

操作系统 发布时间:2019-03-16 13:33:40

primabackup.sh 说明文档

版本:2.0.1

工具下载地址:http://swsoft.com.cn/downloads/Prima/Tools/primabackup-2.0.2.tar.gz

0. 版本更新

* 2006-11-23 SWsoft.com.cn v2.0.2

- [fix] 修复resin路径

* 2005-03-28 ValueOf.com v2.0.1

- [fix] 备份resin和tomcat的配置

- [fix] 修复配置备份子目录的位置

1. 概述

primabackup.sh脚本可用来备份数据。

2. 安装

解压:

tar zxf primabackup.tar.gz

3. 配置

要求的设定

3.1 备份到那个目录

BACKUP_BASE_DIR="/backup" 备份文件所在的根目录

3.2 备份哪些数据

WEB=1 备份web

EMAIL=1 备份email

DNS=1 备份dns

MYSQL=1 备份mysql

CONTROL=1 备份主控界面目录

如果不需要备份某个功能,则将其改成0

3.3 保留多少份旧的备份?

即除了当前最新的这个备份之外,还保留几个备份,最少为0个,默认为1

如果设为0,则只保留一个备份,每次备份的时候都会把以前的备份删除

max_old_backup=1

4. 备份的过程

首先根据设置,决定要备份的数据和配置,然后创建

备份根目录下的以日期时间为名字的目录,在这个目录的data子目录下备份数据的tar包

在conf子目录下备份配置文件和目录。

5. 数据位置

web数据的位置,默认/www/users,程序会自动到prima.conf里面找home_base配置,如果找到则用更改之后的配置

mail数据的位置,默认/var/vmail,程序会自动到prima.conf里面找mail_space_base配置,如果找到则用更改之后的配置

dns数据的位置,默认/var/named,程序会自动到prima.conf里面找zonefile_base配置,如果找到则用更改之后的配置

mysql数据的位置,linux默认/var/lib/mysql,FreeBSD默认/var/db/mysql

如果prima.conf中打开了网站生成、计数器应用,则会备份相应的数据目录。

程序根据prima.conf中use_mod_caucho/use_mod_jk来判断是否备份相应的resin和tomcat配置

named.conf默认/etc/named.conf,程序会自动到prima.conf里面找named_conf配置,如果找到则用更改之后的配置

如果是主控服务器,请务必打开MYSQL备份。

6. 关于测试模式

如果将

#testmode=1

改成

testmode=1

则,只打印要做的事情,不做实际备份。

7. 备份文件的命名方法

对于目录的备份。备份文件是目录名.tar.gz,如

/www/users -> /backup/20040903-140101/data/users.tar.gz

对于文件的备份,则直接是文件名,如

/etc/named.conf -> /backup/20040903-140101/conf/named.conf

完整列表如下:

/www/prima -> data/prima.tar.gz

/www/users -> data/users.tar.gz

/var/vmail -> data/vmail.tar.gz

/var/named -> data/named.tar.gz

/var/lib/mysql -> data/mysql.tar.gz

/www/prima/htdocs/apps/GenComSite/sitepage -> data/sitepage

/www/prima/htdocs/apps/GenComSite/upload -> data/upload.tar.gz

/var/Counter -> Counter.tar.gz

/usr/prima/etc -> conf/etc.tar.gz

/usr/prima/postfix/conf -> conf/conf.tar.gz

/etc/named.conf -> conf/named.conf

/usr/local/resin/conf/host.conf -> conf/host.conf

/var/tomcat4/conf/server.xml -> conf/server.xml

/www/prima/htdocs/apps/phpMyAdmin/config.inc.php -> conf/config.inc.php

8. 注意事项

8.1

注意:此备份为完整备份,备份目录应有足够空间容纳。

虽然在备份过程,经过压缩,空间会减小,但建议备份目录至少和数据全部大小相同。

这样才能保证容纳至少一个完整备份,一般情况下,可以容纳两个完整备份。

8.2

在进行备份的时候,对cpu和磁盘的负担是比较重的,建议加上nice以降低程序执行优先级,而且最好在凌晨运行。

如:

# nice ./primabackup.sh

9. 通过cronjob自动周期性备份

通过修改/etc/crontab,可以将备份设为周期性自动的。

/etc/crontab中每一条都是一个定期任务,#号开头的除外。

格式如下:

分钟 小时 月中的某一天 月 星期几 执行者 命令行

例如:

0 2 * * * root /bin/cmd

即在每天的凌晨2点以root身份执行/bin/cmd命令

假如要配置备份任务每天2点执行,将输出的消息写到日志文件里,则在/etc/crontab中加入:

0 2 * * * root nice /root/primabackup/primabackup.sh >> /var/log/primabackup.log

上面假设备份脚本的位置在/root/primabackup/primabackup.sh

日志放在/var/log/primabackup.log

加了nice降低执行优先级。

如果要每周六2点执行,则:

0 2 * * 6 root nice /root/primabackup/primabackup.sh >> /var/log/primabackup.log

(6代表星期六,0 或 7 代表星期天)

修改/etc/crontab不用重起任何服务。


责任编辑:电脑知识学习网

操作系统