关于Linux/Unix数据自动备份工具
我们在编写程序的时候经常会需要对数据进行备份,那么就需要使用到自动备份工具,那么你对Linux/Unix数据自动备份工具了解有多少呢?
下面我们就一起去看看关于Linux/Unix数据自动备份工具的内容。
primabackup.sh 说明文档
版本:2.0.1
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备份。
![](https://js.aizhan.com/jishu/static/dlimg/202002/158177619674331.gif)
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
![](https://js.aizhan.com/jishu/static/dlimg/202002/158177619674331.gif)
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不用重起任何服务。
上文就是关于Linux/Unix数据自动备份工具的内容。