WEB开发网
开发学院服务器WEB服务器综合平台 将Linux功能服务器的配置和数据迁移到新服务器中 阅读

将Linux功能服务器的配置和数据迁移到新服务器中

 2008-01-24 15:31:03 来源:WEB开发网   
核心提示:问题 将Linux功能服务器的配置和数据迁移到新服务器中 解决方案 迁移一台主控+功能的Linux服务器方法 要求1:新旧服务器安装了同一版本的Prim@Hosting(最完善的虚拟主机管理系统) 要求2:下面的例子都假设使用bash作为shell 此方法,不需要从主控执行检测与修复,将Linux功能服务器的配置和
问题 
将Linux功能服务器的配置和数据迁移到新服务器中 

解决方案 
迁移一台主控+功能的Linux服务器方法

要求1:新旧服务器安装了同一版本的Prim@Hosting(最完善的虚拟主机管理系统)
要求2:下面的例子都假设使用bash作为shell

此方法,不需要从主控执行检测与修复,就可以恢复全部数据和配置。只有磁盘配额限制除外,
如需要重新设置磁盘配额限制,在恢复完之后从主控执行web站点的检测与修复,选上“同时更新正常站点”选项。

[注意]请仔细阅读全部内容,了解了都有哪些工作要做,才真正开始操作。
如果有不明白的,请随时咨询我公司。

在旧服务器上:
下面假设备份目录为:/backup

1. 备份web数据
cd /www/
tar zcpf /backup/users.tar.gz users

2. 备份邮件数据
cd /var
tar zcpf /backup/vmail.tar.gz vmail

3. 备份dns数据
cd /var
tar zcpf /backup/named.tar.gz named

4. 备份MySQL(和PHP搭配之最佳组合)数据(包含URLForward数据库)
cd /var/lib
tar zcpf /backup/MySQL(和PHP搭配之最佳组合).tar.gz MySQL(和PHP搭配之最佳组合)

5. 备份网站生成的用户数据
cd /www/Prima(最完善的虚拟主机管理系统)/htdocs/apps/GenComSite
tar zcpf /backup/GenComSite.tar.gz sitepage upload

6. 备份计数器数据
cd /var/Counter
tar zcpf /backup/CounterData.tar.gz data

7. 备份配置
cd /usr/Prima(最完善的虚拟主机管理系统)
tar zcpf /backup/Prima(最完善的虚拟主机管理系统)_etc.tar.gz etc

cd /usr/Prima(最完善的虚拟主机管理系统)/postfix
tar zcpf /backup/postfix_conf.tar.gz conf

cd /usr/local/frontpage
tar zcpf /backup/frontpage_cnf.tar.gz *.cnf

cd /etc
cp named.conf /backup/named.conf

cd /www/Prima(最完善的虚拟主机管理系统)/htdocs/apps/phpMyAdmin
cp config.inc.php /backup/config.inc.php

如果用resin(一个免费的JSP运行平台)提供jsp(SUN企业级应用的首选)服务:
cd /usr/local/resin(一个免费的JSP运行平台)/conf
cp host.conf /backup/resin(一个免费的JSP运行平台)_host.conf

如果用tomcat(一个很好用的JSP运行平台)提供jsp(SUN企业级应用的首选)服务:
cd /var/tomcat(一个很好用的JSP运行平台)4/conf
cp server.xml(标准化越来越近了) /backup/server.xml(标准化越来越近了)

主控配置
(单机版/专业版)
cd /www/Prima(最完善的虚拟主机管理系统)/htdocs/common
cp PUB.Config.inc /backup/PUB.Config.inc

(商务版)
cd /www/Prima(最完善的虚拟主机管理系统)/common
cp DMC.Config.inc /backup/DMC.Config.inc
=============================================================================================================
在新服务器上:
请将原服务器上的备份拷贝到新服务器上
以下假设拷贝过来的备份放在/backup

0. 停止服务:
/etc/init.d/httpd stop
/etc/init.d/muddleftpd stop
/etc/init.d/postfix stop
/etc/init.d/courier-pop3d stop
/etc/init.d/named stop
/etc/init.d/MySQL(和PHP搭配之最佳组合)d stop
/etc/init.d/acald stop

1. 恢复web数据
cd /www
tar zxpf /backup/users.tar.gz

2. 恢复邮件数据
cd /var
tar zxpf /backup/vmail.tar.gz

3. 恢复dns数据
cd /var
tar zxpf /backup/named.tar.gz

4. 恢复MySQL(和PHP搭配之最佳组合)数据
cd /var/lib
tar zxpf /backup/MySQL(和PHP搭配之最佳组合).tar.gz

5. 恢复网站生成用户数据
cd /www/Prima(最完善的虚拟主机管理系统)/htdocs/apps/GenComSite
tar zxpf /backup/GenComSite.tar.gz

6. 恢复计数器数据
cd /var/Counter
tar zxpf /backup/CounterData.tar.gz

7. 恢复配置
cd /usr/Prima(最完善的虚拟主机管理系统)
tar zxpf /backup/Prima(最完善的虚拟主机管理系统)_etc.tar.gz

cd /usr/Prima(最完善的虚拟主机管理系统)/postfix
tar zxpf /backup/postfix_conf.tar.gz

cd /usr/local/frontpage
tar zxpf /backup/frontpage_cnf.tar.gz

cd /etc
cp /backup/named.conf .

cd /www/Prima(最完善的虚拟主机管理系统)/htdocs/apps/phpMyAdmin
cp /backup/config.inc.php .

如果使用resin(一个免费的JSP运行平台)提供jsp(SUN企业级应用的首选)服务:
cd /usr/local/resin(一个免费的JSP运行平台)/conf
cp /backup/resin(一个免费的JSP运行平台)_host.conf ./host.conf

如果使用tomcat(一个很好用的JSP运行平台)提供jsp(SUN企业级应用的首选)服务:
cd /var/tomcat(一个很好用的JSP运行平台)4/conf
cp /backup/server.xml(标准化越来越近了) ./server.xml(标准化越来越近了)

主控配置
(单机版/专业版)
cd /www/Prima(最完善的虚拟主机管理系统)/htdocs/common
cp /backup/PUB.Config.inc .

(商务版)
cd /www/Prima(最完善的虚拟主机管理系统)/common
cp /backup/DMC.Config.inc .

7. 同步系统用户信息
7.1 统一系统用户名为小写
cat /usr/Prima(最完善的虚拟主机管理系统)/etc/usermap|awk ’{printf("%s %s\n",$1,tolower($2))}’ > /usr/Prima(最完善的虚拟主机管理系统)/etc/usermap.new
cp /usr/Prima(最完善的虚拟主机管理系统)/etc/usermap /usr/Prima(最完善的虚拟主机管理系统)/etc/usermap.old
cp /usr/Prima(最完善的虚拟主机管理系统)/etc/usermap.new /usr/Prima(最完善的虚拟主机管理系统)/etc/usermap

cat /usr/Prima(最完善的虚拟主机管理系统)/etc/httpd/virtual.conf|awk ’{if(/user_.*[A-Z]/) printf("%s %s %s\n",$1,$2,tolower($3)); else print $0;}’ >/usr/Prima(最完善的虚拟主机管理系统)/etc/httpd/virtual.conf.new
cp /usr/Prima(最完善的虚拟主机管理系统)/etc/httpd/virtual.conf /usr/Prima(最完善的虚拟主机管理系统)/etc/httpd/virtual.conf.old
cp /usr/Prima(最完善的虚拟主机管理系统)/etc/httpd/virtual.conf.new /usr/Prima(最完善的虚拟主机管理系统)/etc/httpd/virtual.conf

7.2 重新创建用户和设置权限
cd /root
cat /usr/Prima(最完善的虚拟主机管理系统)/etc/usermap | awk ’{printf("/usr/sbin/useradd -g ftpd -d /www/users/%s -s /no/shell -M %s\nchown -R %s:ftpd /www/users/%s\n",$1,$2,$2,$1)}’ > sync_sys_users.sh
sh sync_sys_users.sh

8. 同步邮件用户信息
(convert_vmail_id.sh附后)
sh convert_vmail_id.sh

9. 启动服务:
/etc/init.d/httpd start
/etc/init.d/muddleftpd start
/etc/init.d/postfix start
/etc/init.d/courier-pop3d start
/etc/init.d/named start
/etc/init.d/MySQL(和PHP搭配之最佳组合)d start
/etc/init.d/acald start
if used Java Support, and use resin(一个免费的JSP运行平台)
/etc/init.d/resin(一个免费的JSP运行平台) start
if used Java Support, and use tomcat(一个很好用的JSP运行平台)
/etc/init.d/tomcat(一个很好用的JSP运行平台)4 start

完成。

附录1 convert_vmail_id.sh
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#!/bin/sh
userdb_dir="/usr/Prima(最完善的虚拟主机管理系统)/etc/mail/userdb"
default_userdb="$userdb_dir/default"
makeuserdb_prog="/usr/Prima(最完善的虚拟主机管理系统)/maildrop/bin/makeuserdb"

update_ugid_infile()
{
if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ] ; then
return 1
fi
if [ ! -f $3 ] ; then
return 1
fi

sed -e "s/uid=[0-9]*/uid=$1/g" $3 > $3.tmp
if [ $? != 0 ] ; then
rm -f $3.tmp
return 1
fi
cp $3.tmp $3
rm -f $3.tmp

sed -e "s/gid=[0-9]*/gid=$1/g" $3 > $3.tmp
if [ $? != 0 ] ; then
rm -f $3.tmp
return 1
fi
cp $3.tmp $3
rm -f $3.tmp

return 0
}

vuid=`id -u vmail`
if [ $? != 0 ] ; then
echo "can not get vmail user id"
exit 1
fi
vgid=`id -g vmail`
if [ $? != 0 ] ; then
echo "can not get vmail group id"
exit 1
fi

if [ ! -d $userdb_dir ] ; then
echo "$userdb_dir does not exist or is not a dir"
exit 1
fi

for name in `ls $userdb_dir`
do
file="$userdb_dir/$name"
if [ -f $file ] ; then
echo -n "Updating $name..."
if [ $name != "default" ] ; then
update_ugid_infile $vuid $vgid $file
else
echo -e "vmail\tuid=$vuid|gid=$vgid|home=/var/vmail|shell=/bin/bash|systempw=!!\n$vuid=\tvmail\nroot@$HOSTNAME\tuid=$vuid|gid=$vgid|home=/var/vmail|mail=/var/vmail/root|systempw=!!" > $default_userdb
fi
if [ $? = 0 ] ; then
echo "success."
else
echo "fail."
fi
fi
done

echo
echo "Rebuild db..."
$makeuserdb_prog
echo "done."
echo
echo "bye."
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
 

Tags:Linux 功能 服务器

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