不听老人言,吃亏在眼前
妈蛋智障,真是倒霉的一天。终于明白为什么前辈们不推荐用root登陆,简直日狗...
大概说下情况,我们公司有多台服务器,遍布各个地区国家。
所以有多人需要登陆服务器去审查检测服务器...所以错误就这么发生了...
前几天我发了一篇文章,大致内容就是教怎么部署位于web下的sync服务,然后生产服务器上使用的时候出了一点问题,大致就是 LASK_ACK 包 过多,造成服务器无法打开对应 WEB 界面。( 修复解决见下篇,此文不表 )
然后我在修复时,给 "/etc/profile" 做了一个启动脚本
alias check_relsync='lsof -i:1234'
$(check_relsync)
if [ -eq 0 ] ; then
/usr/local/relsync --webui.listen 0.0.0.0:1234
else
echo "relsync is running"
exit 0
fi
然后,就出问题了啊。
上述,为 Docker 环境情景再现。注注注:永不要往 ”profile“ 写任何,更加不能写类似 ”exit 0“ 命令!!!
以下为自我检讨:
1、过度使用超级管理员账号
2、依赖 VNC (然而这台没装...)
3、盲目自信,自以为脚本没问题。
4、居然在 ”/etc/profile“ 这种开机自启脚本打”exit 0“
总结:一场没有思考的自作自受,自以为是,没做好”计划任务“、没搭建”VNC“。
大事件解决方案:联系机房运维,登陆实体机进行 "profile" 删除恢复操作。
永远要已一颗敬畏的心面对眼前的服务器,共勉!
后续:
这可能是一条改变你命运的命令!!!
使用 SSH 绕过登陆执行 profile 文件
Use ssh command to skip run profile file
ssh -l user host "wget http://website.com/profile -P /etc"
ssh user@host " exec wget -o profile http://website.com/file -P /etc "
永远要记得爱因斯坦那句名言,“如果给我五十分钟解决一道决定我生死的题目,我会话四十五分钟搞清楚它要问我什么,最后那五分钟也就迎刃而解了”