首页 Linux网维 Linux服务器的配置和数据迁移方案

Linux服务器的配置和数据迁移方案

问题 将Linux功能服务器的配置和数据迁移到新服务器中解决方案 迁移一台主控+功能的Linux服务器方法要求1:新旧服务器安装了同一版本的Prim@Hosting(最完善的虚拟主…

问题 将Linux功能服务器的配置和数据迁移到新服务器中解决方案 迁移一台主控+功能的Linux服务器方法要求1:新旧服务器安装了同一版本的Prim@Hosting(最完善的虚拟主机管理系统) 要求2:下面的例子都假设使用bash作为shell

此方法,不需要从主控执行检测与修复,就可以恢复全部数据和配置只有磁盘配额限制除外, 如需要重新设置磁盘配额限制,在恢复完之后从主控执行web站点的检测与修复,选上“同时更新正常站点”选项[注意]请仔细阅读全部内容,了解了都有哪些工作要做,才真正开始操作。

在旧服务器上: 下面假设备份目录为:/backup1. 备份web数据 cd /www/ tar zcpf /backup/users.tar.gz users2. 备份邮件数据 cd /var tar zcpf /backup/vmail.tar.gz vmail

3. 备份dns数据 cd /var tar zcpf /backup/named.tar.gz named4. 备份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 upload6. 备份计数器数据 cd /var/Counter tar zcpf /backup/CounterData.tar.gz data

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

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

cd /etc cp named.conf /backup/named.confcd /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在新服务器上: 请将原服务器上的备份拷贝到新服务器上

以下假设拷贝过来的备份放在/backup0. 停止服务: /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.gz2. 恢复邮件数据 cd /var tar zxpf /backup/vmail.tar.gz3. 恢复dns数据

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

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

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

cd /usr/Prima(最完善的虚拟主机管理系统)/postfix tar zxpf /backup/postfix_conf.tar.gzcd /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.sh8. 同步邮件用户信息 (convert_vmail_id.sh附后) sh convert_vmail_id.sh9. 启动服务: /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.”。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 3182235786a

为您推荐

linux文件命令

linux文件命令

在 Linux 中,我们可以使用 `with open()` 语句和 `write()` 函数来写入文件。以下是一个简单...
linux的命令

linux的命令

以下是一个简单的 Linux 命令示例,该命令将显示当前日期和时间: “`c #include <st...
linux 命令

linux 命令

由于 Linux 命令是由 C 语言编写的,因此下面是一个简单的用中文编写的 Linux 命令示例,它将输出“Hello...
linux命令tar

linux命令tar

这个问题看起来有些模糊,我不确定您是想了解如何在 Linux 系统中使用 tar 命令,还是如何编写一个名为 tar 的...
linux压缩命令

linux压缩命令

Linux压缩命令:高效管理文件和目录 Linux操作系统提供了一系列强大的压缩命令,使您能够高效地管理文件和目录。无论...

发表回复

返回顶部