您好,登錄后才能下訂單哦!
問題
將Linux功能服務(wù)器的配置和數(shù)據(jù)遷移到新服務(wù)器中
解決方案
遷移一臺主控+功能的Linux服務(wù)器方法
要求1:新舊服務(wù)器安裝了同一版本的Prim@Hosting(最完善的虛擬主機(jī)管理系統(tǒng))
要求2:下面的例子都假設(shè)使用bash作為shell
此方法,不需要從主控執(zhí)行檢測與修復(fù),就可以恢復(fù)全部數(shù)據(jù)和配置。只有磁盤配額限制除外,
如需要重新設(shè)置磁盤配額限制,在恢復(fù)完之后從主控執(zhí)行web站點(diǎn)的檢測與修復(fù),選上“同時更新正常站點(diǎn)”選項(xiàng)
[注意]請仔細(xì)閱讀全部內(nèi)容,了解了都有哪些工作要做,才真正開始操作。
在舊服務(wù)器上:
下面假設(shè)備份目錄為:/backup
1. 備份web數(shù)據(jù)
cd /www/
tar zcpf /backup/users.tar.gz users
2. 備份郵件數(shù)據(jù)
cd /var
tar zcpf /backup/vmail.tar.gz vmail
3. 備份dns數(shù)據(jù)
cd /var
tar zcpf /backup/named.tar.gz named
4. 備份MySQL(和PHP搭配之最佳組合)數(shù)據(jù)(包含URLForward數(shù)據(jù)庫)
cd /var/lib
tar zcpf /backup/MySQL(和PHP搭配之最佳組合).tar.gz MySQL(和PHP搭配之最佳組合)
5. 備份網(wǎng)站生成的用戶數(shù)據(jù)
cd /www/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/htdocs/apps/GenComSite
tar zcpf /backup/GenComSite.tar.gz sitepage upload
6. 備份計(jì)數(shù)器數(shù)據(jù)
cd /var/Counter
tar zcpf /backup/CounterData.tar.gz data
7. 備份配置
cd /usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))
tar zcpf /backup/Prima(最完善的虛擬主機(jī)管理系統(tǒng))_etc.tar.gz etc
cd /usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/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(最完善的虛擬主機(jī)管理系統(tǒng))/htdocs/apps/phpMyAdmin
cp config.inc.php /backup/config.inc.php
如果用resin(一個免費(fèi)的JSP運(yùn)行平臺)提供jsp(SUN企業(yè)級應(yīng)用的首選)服務(wù):
cd /usr/local/resin(一個免費(fèi)的JSP運(yùn)行平臺)/conf
cp host.conf /backup/resin(一個免費(fèi)的JSP運(yùn)行平臺)_host.conf
如果用tomcat(一個很好用的JSP運(yùn)行平臺)提供jsp(SUN企業(yè)級應(yīng)用的首選)服務(wù):
cd /var/tomcat(一個很好用的JSP運(yùn)行平臺)4/conf
cp server.xml(標(biāo)準(zhǔn)化越來越近了) /backup/server.xml(標(biāo)準(zhǔn)化越來越近了)
主控配置
(單機(jī)版/專業(yè)版)
cd /www/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/htdocs/common
cp PUB.Config.inc /backup/PUB.Config.inc
(商務(wù)版)
cd /www/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/common
cp DMC.Config.inc /backup/DMC.Config.inc
在新服務(wù)器上:
請將原服務(wù)器上的備份拷貝到新服務(wù)器上
以下假設(shè)拷貝過來的備份放在/backup
0. 停止服務(wù):
/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. 恢復(fù)web數(shù)據(jù)
cd /www
tar zxpf /backup/users.tar.gz
2. 恢復(fù)郵件數(shù)據(jù)
cd /var
tar zxpf /backup/vmail.tar.gz
3. 恢復(fù)dns數(shù)據(jù)
cd /var
tar zxpf /backup/named.tar.gz
4. 恢復(fù)MySQL(和PHP搭配之最佳組合)數(shù)據(jù)
cd /var/lib
tar zxpf /backup/MySQL(和PHP搭配之最佳組合).tar.gz
5. 恢復(fù)網(wǎng)站生成用戶數(shù)據(jù)
cd /www/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/htdocs/apps/GenComSite
tar zxpf /backup/GenComSite.tar.gz
6. 恢復(fù)計(jì)數(shù)器數(shù)據(jù)
cd /var/Counter
tar zxpf /backup/CounterData.tar.gz
7. 恢復(fù)配置
cd /usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))
tar zxpf /backup/Prima(最完善的虛擬主機(jī)管理系統(tǒng))_etc.tar.gz
cd /usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/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(最完善的虛擬主機(jī)管理系統(tǒng))/htdocs/apps/phpMyAdmin
cp /backup/config.inc.php .
如果使用resin(一個免費(fèi)的JSP運(yùn)行平臺)提供jsp(SUN企業(yè)級應(yīng)用的首選)服務(wù):
cd /usr/local/resin(一個免費(fèi)的JSP運(yùn)行平臺)/conf
cp /backup/resin(一個免費(fèi)的JSP運(yùn)行平臺)_host.conf ./host.conf
如果使用tomcat(一個很好用的JSP運(yùn)行平臺)提供jsp(SUN企業(yè)級應(yīng)用的首選)服務(wù):
cd /var/tomcat(一個很好用的JSP運(yùn)行平臺)4/conf
cp /backup/server.xml(標(biāo)準(zhǔn)化越來越近了) ./server.xml(標(biāo)準(zhǔn)化越來越近了)
主控配置
(單機(jī)版/專業(yè)版)
cd /www/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/htdocs/common
cp /backup/PUB.Config.inc .
(商務(wù)版)
cd /www/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/common
cp /backup/DMC.Config.inc .
7. 同步系統(tǒng)用戶信息
7.1 統(tǒng)一系統(tǒng)用戶名為小寫
cat /usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/etc/usermap|awk ’{printf("%s %s\n",$1,tolower($2))}’ > /usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/etc/usermap.new
cp /usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/etc/usermap /usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/etc/usermap.old
cp /usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/etc/usermap.new /usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/etc/usermap
cat /usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/etc/httpd/virtual.conf|awk ’{if(/user_.*[A-Z]/) printf("%s %s %s\n",$1,$2,tolower($3)); else print $0;}’ >/usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/etc/httpd/virtual.conf.new
cp /usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/etc/httpd/virtual.conf /usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/etc/httpd/virtual.conf.old
cp /usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/etc/httpd/virtual.conf.new /usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/etc/httpd/virtual.conf
7.2 重新創(chuàng)建用戶和設(shè)置權(quán)限
cd /root
cat /usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/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. 啟動服務(wù):
/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(一個免費(fèi)的JSP運(yùn)行平臺)
/etc/init.d/resin(一個免費(fèi)的JSP運(yùn)行平臺) start
if used Java Support, and use tomcat(一個很好用的JSP運(yùn)行平臺)
/etc/init.d/tomcat(一個很好用的JSP運(yùn)行平臺)4 start
完成。
附錄1 convert_vmail_id.sh
#!/bin/sh
userdb_dir="/usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/etc/mail/userdb"
default_userdb="$userdb_dir/default"
makeuserdb_prog="/usr/Prima(最完善的虛擬主機(jī)管理系統(tǒng))/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."
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。