环境:阿里云ECS(云虚拟机),centos6.5
运行服务:nginx ,squid,iptables,nagios
误操作过程:由于nagios报警boot 分区磁盘使用率大于80%,故本来想清理掉log日子,以及/urs/local/nginx/logs,误操作rm -rf /var/*
当时感觉没什么事,就没里。服务也正常运行着。就退出ssh
导致问题:第二天ssh 连接报错:当时没截图,意思大概就是说host remove之类的,当时就傻了,回想下。之前的操作。可能跟.var 目录不存在有关系。
解决思路:1,通过阿里云后台登录终端,登录服务器,终端后台登录密码忘记了,修改,重启服务器,进入系统。首先启动服务,nginx,报错,启不来,
根据报错信心,mkdir -pv /var/log/,cd /var/log/ ,touch 相关的日子,下的相关niginx相关日志,nginx.conf 可以看到配置。服务起来了,是服务最快恢复.
2. 修复ssh :
netsta -anlpt | grep 22 ,发现没22号端口,
启动 ssh:
service sshd start 或者 /etc/init.d/sshd start , 报错,根据报错信息,找不到、var下的目录和文件,mkdir ,以及touch ,相关目录文件。
service sshd star 服务正常启动
netsta -anlpt | grep 22
3.测试ssh连接,OK ,ssh问题修复。
4.service squid start ,启动失败:
vim /etc/squid/squid.conf
查看var 下的相关配置,mkdir ,touch相关目录及文件。还是启不来。没招了,思考。
cp /etc/squid/squid.conf /etc/squid/squid.conf20160519
yum -y install squid
yum 也报错了,晕了,直接别的机器上,scp var目录到本机,
yum clean all 以及yum makecache
#yum -y install squid 至此,squid开着也起来了,netsta 查看squid 的服务端口,OK。
所有服务都恢复了,问题解决。
其实还可以利用阿里云的快照回滚功能,只是偶想 自己解决一次,积累点经验。
大家有不懂的地方可以加我qq 或者微信,qq:275610367 微信:275310367