问题  
将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."

转载于:https://blog.51cto.com/hujiangtao/1946259

Linux服务器的配置和数据迁移方案相关推荐

  1. 服务器迁移域名和证书要改什么用,服务器数据迁移方案介绍 怎样更换网站域名?...

    服务器数据迁移方案介绍 怎样更换网站域名? 分类:云服务资讯 编辑: 浏览量:100 2021-07-12 08:32:44 由于企业在不断发展,现有的网站可能无法满足企业的需求,此时就需要对网站的硬 ...

  2. Linux服务器安全配置实例(二)用户账户权限配置

    没有绝对的安全 在上一篇文章<linux服务器安全配置实例(一)>中介绍了我对ssh服务的一些常用的安全配置和性能优化. 其实ssh服务是我们进入服务器的一扇大门,这扇大门是提供正常人使用 ...

  3. 版本管理工具Subversion Edge的备份恢复与数据迁移方案

    软件开发生命周期中会使用到多种工具,这些工具的更迭与迁移,备份与恢复都构成了软件开发生命周期的重要部分.这篇文章以当下最新版本的Subversion Edge为例介绍一下其备份恢复与数据迁移方案,因相 ...

  4. 数据备份数据迁移方案

    数据备份方式 物理备份 冷备:cp.tar.- 逻辑备份 mysqldump //备份 mysql //恢复 物理备份及恢复 备份 ] cp -r /var/lib/mysql 目录/mysql.ba ...

  5. svn的代码提交到git服务器_svn服务器代码仓库,数据迁移到git仓库

    svn服务器代码仓库,数据迁移到git仓库 1.安装svn [root@tomcat01 ~]# yum install subversion -y 2.初始化仓库 [root@tomcat02 ~] ...

  6. 姚俊军:如何设计数据迁移方案

    欢迎大家前往云加社区,获取更多腾讯海量技术实践干货哦~ 好的迁移方案设计不仅能够节省迁移成本,还能帮助用户拥有更加完备的异地部署和灾备能力.腾讯云技术专家姚俊军在现场讲解了如何设计数据迁移方案,还和大 ...

  7. Elasticsearch跨集群数据迁移方案+代码操作

    主流的ES迁移有三套方案 1.logstash数据同步 2.ES dump 3.ES snapshot迁移 1.logstash数据同步 ./logstash -f config_file 1. 指定 ...

  8. 代码技巧——数据迁移方案【建议收藏】

    开发工作中,可能会遇到如"大表拆分"."跨库数据迁移"等场景,本文介绍互联网常见架构下的数据迁移方案及实现: 1. 数据迁移的业务场景 以下是需要数据迁移的场景 ...

  9. 在Linux服务器上配置phpMyAdmin--允许空密码

    使用php和mysql开发网站的话,phpmyadmin是一个非常友好的mysql管理工具,并且免费开源,国内很多虚拟主机都自带这样的管理工具,配置很简单,接下来在linux服务器上配置phpmyad ...

最新文章

  1. C++模板:类模板和类模板的友元【C++模板】(57)
  2. 天天象棋 残局闯关 第8关
  3. 图像处理方面的sci期刊_【IEEE Access 】【一年收录1.5w篇文章的SCI】一个月录用案例...
  4. java 微信开发收到乱码,微信公众号发送模板消息中文乱码(java)
  5. 德力西双电源自动转换开关说明书_今日优品:南开区FLQ3-25双电源自动转换开关全国服务-老友网...
  6. 2018年春季软件工程教学设计(初稿)
  7. python移动文件,将某一文件夹下的文件移至另一个文件夹下
  8. 数学建模写作指导20篇(二)-数学建模论文写作通用模板
  9. SEO和SEM的区别
  10. Thematic与Continuous区别
  11. Java将毫秒(时间戳)转时分秒格式或者年月日
  12. Nanopore测序技术
  13. 7.26 5 优化浪漫 恋爱中的经济学
  14. I2S总线学习:I2S数据格式
  15. Linux下面bzero函数学习笔记
  16. Python提取Word中的图片
  17. 笔记本选购2018.9
  18. BERT-MRC论文笔记
  19. 简述select语句的完整语法_SELECT语句的完整语法较复杂,但至少包括的部分是(    )...
  20. 三星电脑Notebook 5(NP500R3M-K08)更换SSD

热门文章

  1. 软件企业认定的好处及条件
  2. 【群晖NAS】 利用云服务器 FRP技术 实现内网穿透
  3. 蒙特卡洛方法到底有什么用(转)
  4. 软件测试与软件开发的关系是怎样的?
  5. PAT甲级 A1030
  6. 一起白piao网页学知识吧
  7. vbs脚本实现Ping功能
  8. Linux - Unix环境高级编程(第三版) 代码编译
  9. Linux基本操作知识一
  10. arm体系结构总结笔记10-arm汇编