很多做美国服务器的公司,都是代理大型美国机房的服务器租用业务的。在日常的客户服务中,不可避免的涉及到要帮客户重启服务器的问题。根据笔者的经验,绝大部分美国机房的服务都是通过电子邮件来进行(也有少数提供在线重启面板),也就是如果客户要重启了,我们要发一封Reboot邮件到美国机房去。美国机房的服务一般都比较到位,确保24小时服务,他们一般会在10-30分钟内重启完毕。如果是白天我们这边有人值班到还好,万一是深夜或者是周末,没有人值班的时候,客户要重启服务器了,不停的打你电话催你,你是不是觉得非常尴尬呢?笔者几年前就碰过这样的情况,后来想起一个让客户自己发重启的办法。有些朋友已经知道了,其实很简单,只需借助一个在线发邮件的功能。首先,我们要明确,美国机房那边是根据Email地址来服务的,也就是只有你公司在那边登记的Email发邮件给他们,他们才会处理问题。客户用自己的邮箱发给他们,他们一般不会帮处理。我们的思路是:在服务器列表中做一个重启按钮,客户点击后执行一个专门重启的svr_reboot.asp文件,这个文件的功能就是用Jmail方式发送邮件到机房,并且记录下客户重启的时间。我用的是华众系统,下面给出具体代码,用其他管理系统的大家可以仿照更改。
在svr_idx.asp文件中增加重启按钮:
<script>
function rebootit(proid,proid2,proid3)
{
if (confirm(“此功能相当于发送直接发送重启命令,一般15分钟-30分钟内会重启完毕,请不要多次点击重启。点击2小时内此功能将禁用。”))
{location.href=”/control/svr_mng/svr_reboot.asp?ssvrip=”+proid+”&snme=”+proid2+”&sprd=”+proid3;
}
}
</script>
<input type=”button” name=”ccreboot” value=”重启” onclick=”javascript:return rebootit(‘<%=rs(“s_svrip”)%>’,'<%=rs(“s_nme”)%>’,'<%=rs(“s_prd”)%>’);” <%if DateDiff(“h”,rs(“s_rbttme”),Now())<2 then response.write(“disabled”) end if%>> 上次重启时间<%=rs(“s_rbttme”)%> 离上次重启<%=DateDiff(“h”,rs(“s_rbttme”),Now())%>小时
新建svr_reboot.asp文件:
<!–#include virtual=”/incs/config.asp” –>
<%
chk_log_usr()
conn.open constr
Set msg = Server.CreateObject(“JMail.Message”)
msg.silent = true
msg.Logging = true
msg.MailServerUserName = “aaa@yourdomain.com” //你在机房登记的邮箱,推荐用企业邮箱
msg.MailServerPassword = “yourpassword” //邮箱密码
msg.From = “aaa@yourdomain.com” //邮箱名
msg.FromName = “YourDomain” //公司名
msg.AddRecipient “support@usa.com” //美国机房技术支持邮箱
msg.Subject = “Reboot “& SafeRequest(“ssvrip”) //邮件标题
mailbody=”Please reboot the server “&SafeRequest(“ssvrip”)&”,thanks.” //邮件内容
msg.Body = mailbody
sendok=msg.Send (“smtp.yourdomain.com”) //你的邮箱的SMTP服务器地址
set msg = nothing
//需要在数据库中新增s_rbttme字段记录重启时间,避免客户不停点击
If sendok Then
query1=”update v_svrlst set s_rbttme=’”&Now()&”‘ where s_nme=’”&SafeRequest(“snme”)&”‘”
conn.execute query1,1,1
call okpage(“/control/svr_mng/svr_idx.asp?snme=”&SafeRequest(“snme”))
Else
call errorpage(-2,sendok&”出现错误,请提交有问必答让我们手工重启。”)
end if
//更新重启时间,进行后续处理
%>
<%
call cleardb
%>
通过这样两个简单的步骤,我们下次就可以告诉客户,让他自己到后台点击重启按钮,就可以很快重启服务器。这样既减少了我们的客户服务强度,也方便了客户的操作,实在是一个一举两得的好办法。