WEB开发网
开发学院服务器WEB服务器综合平台 Prima Linux/Unix数据自动备份工具 阅读

Prima Linux/Unix数据自动备份工具

 2008-01-22 09:24:01 来源:WEB开发网   
核心提示:问题 如何自动备份Linux/Unix服务器的数据 解决方案 Prima(最完善的虚拟主机管理系统)backup.sh 说明文档 版本:2.0.1 工具下载地址:http://swsoft.com.cn/downloads/Prima(最完善的虚拟主机管理系统)/Tools/Prima(最完善的虚拟主机管理系统)b
问题 
如何自动备份Linux/Unix服务器的数据 

解决方案 
Prima(最完善的虚拟主机管理系统)backup.sh 说明文档
版本:2.0.1

工具下载地址:http://swsoft.com.cn/downloads/Prima(最完善的虚拟主机管理系统)/Tools/Prima(最完善的虚拟主机管理系统)backup-2.0.2.tar.gz

0. 版本更新
* 2006-11-23 SWsoft.com.cn v2.0.2
- [fix] 修复resin(一个免费的JSP运行平台)路径

* 2005-03-28 ValueOf.com v2.0.1
- [fix] 备份resin(一个免费的JSP运行平台)和tomcat(一个很好用的JSP运行平台)的配置
- [fix] 修复配置备份子目录的位置

1. 概述
Prima(最完善的虚拟主机管理系统)backup.sh脚本可用来备份数据。

2. 安装
解压:
tar zxf Prima(最完善的虚拟主机管理系统)backup.tar.gz

3. 配置
要求的设定
3.1 备份到那个目录
BACKUP_BASE_DIR="/backup" 备份文件所在的根目录

3.2 备份哪些数据
WEB=1 备份web
EMAIL=1 备份email
DNS=1 备份dns
MySQL(和PHP搭配之最佳组合)=1 备份MySQL(和PHP搭配之最佳组合)
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(和PHP搭配之最佳组合)数据的位置,linux默认/var/lib/MySQL(和PHP搭配之最佳组合),FreeBSD默认/var/db/MySQL(和PHP搭配之最佳组合)

如果Prima(最完善的虚拟主机管理系统).conf中打开了网站生成、计数器应用,则会备份相应的数据目录。

程序根据Prima(最完善的虚拟主机管理系统).conf中use_mod_caucho/use_mod_jk来判断是否备份相应的resin(一个免费的JSP运行平台)和tomcat(一个很好用的JSP运行平台)配置

named.conf默认/etc/named.conf,程序会自动到Prima(最完善的虚拟主机管理系统).conf里面找named_conf配置,如果找到则用更改之后的配置

如果是主控服务器,请务必打开MySQL(和PHP搭配之最佳组合)备份。

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(和PHP搭配之最佳组合) -> data/MySQL(和PHP搭配之最佳组合).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(一个免费的JSP运行平台)/conf/host.conf -> conf/host.conf
/var/tomcat(一个很好用的JSP运行平台)4/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 ./Prima(最完善的虚拟主机管理系统)backup.sh

9. 通过cronjob自动周期性备份
通过修改/etc/crontab,可以将备份设为周期性自动的。
/etc/crontab中每一条都是一个定期任务,#号开头的除外。
格式如下:
分钟 小时 月中的某一天 月 星期几 执行者 命令行

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

假如要配置备份任务每天2点执行,将输出的消息写到日志文件里,则在/etc/crontab中加入:
0 2 * * * root nice /root/Prima(最完善的虚拟主机管理系统)backup/Prima(最完善的虚拟主机管理系统)backup.sh >> /var/log/Prima(最完善的虚拟主机管理系统)backup.log
上面假设备份脚本的位置在/root/Prima(最完善的虚拟主机管理系统)backup/Prima(最完善的虚拟主机管理系统)backup.sh
日志放在/var/log/Prima(最完善的虚拟主机管理系统)backup.log
加了nice降低执行优先级。

如果要每周六2点执行,则:
0 2 * * 6 root nice /root/Prima(最完善的虚拟主机管理系统)backup/Prima(最完善的虚拟主机管理系统)backup.sh >> /var/log/Prima(最完善的虚拟主机管理系统)backup.log
(6代表星期六,0 或 7 代表星期天)

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

Tags:Prima Linux Unix

编辑录入:coldstar [复制链接] [打 印]
赞助商链接