>
拿到了新linux服务器,开心地 *** 作linx,行云流水地搭建了nginx前端代理服务,并在nginx服务中部署前端应用。心里开始有点膨胀,于是就乐极生悲,有了这个蛋疼的 *** 作,将linx系统根目录下的bin文件夹中的内容全部给删除了,(当时脑子短路了有一分多钟,心里直冒冷汗)。
误 *** 作过程: 部署前端应用的流程是,先将nginx应用根目录下html文件夹中已经部署的旧版本删除,在删除前端项目时,因为有历史 *** 作,所有没有仔细看文件夹路径,直接ctrl-A删除了当下目录中的所有文件。(前端应用是angular2项目,build出来的项目,所有有文件都是同一级目录,文件有点多,且每个文件名都是随机生成的)。
使用xftp,需要先将html文件夹中的内容全部删除,因为已经 *** 作过这个步骤,所以想当然的以为打开xftp会默认打开html文件夹。于是在 *** 作过程中,直接将xftp默认打开的文件夹下的所有文件给删除了(默认在bin目录)。删除那一瞬间感觉删除文件不对,查看目录路径,果然错了。
当时所有文件都已经删除了,ctrl+c已经迟了。。。
先了解了一下bin目录下文件内容的作用:bin文件夹下的内容文件为常用的shell命令,在下面的截图中可以看到:cat,chmod,cp,login 等常用命令。看到login也在里面,感觉有点不妙,会不会是这台服务器已经不能再远程登录了?黑人脸问号png。
使用ssh测试远程连接,果然连接不上了。于是网上搜索补救措施,看了好多网上教程,好多都是使用ssh连接(在没有关闭ssh连接的前提下 *** 作),远程恢复的。网络上的恢复教程大致是: 从其他的相同的linux *** 作系统中复制一份bin文件到已经删除的linux系统中。 但远程ssh登录不了,复制不了文件到这个linux系统中。但是想到有xftp还没有关闭连接,于是就打算采用这个xftp恢复bin目录。
使用虚拟机软件,创建一台相同liunx版本的系统,再将系统中bin文件夹中的内容复制一份。并使用xftp将bin文件内容复制到删除的目录中。
重新测试ssh远程登录连接系统,结果还是不行。继续思考为什么会不行。想到会不会是文件权限引起的问题,还好xftp可以查看文件权限,果然有这个问题,xftp复制进系统的文件权限只有只读权限,可bin目录下的文件都是需要执行权限的啊。还好xftp可以修改文件权限,于是有了以下的修改权限的截图。绿色的文件代表可以执行,也就说先将以下的的文件中比较重要的文件(绿色的文件,修改权限前文件为灰色)权限改为755。然后再ssh远程登录系统,果然ok,可以登录且可以 *** 作系统。接下来将bin文件夹中的所有文件权限改为 755,恢复完成。
1、恢复<删除或覆盖>的类文件选择项目后右键-->选择Restore
from
Local
history-->出现下面的界面:
选中可以看到文件改动的时间和内容
勾选需要恢复的文件后点击Restore就恢复了
2、恢复<删除或覆盖>的代码
选择需要恢复的文件右键-->replace
with-->Local
History就能看此文件改动的时间
选中时间点击就能看到改动的内容
击Restore就恢复了
当用ctrl+z无法恢复,或关闭了Eclipse后想恢复代码都可以使用这种方法。发现文件被删除看,先看下是否有备份,如果有备份,那直接从备份里还原文件就可以了。如果没有备份,那就只能尝试用数据恢复软件进行恢复了。下载数据恢复软件,然后对丢失数据的区域进行扫描,如果可以搜索到需要的文件并且文件可以预览,那就说明可以恢复。通常误删除文件后要立即停止对磁盘的写入 *** 作,然后运行恢复软件。
服务器由于不断运行,你的文件很可能已经被覆盖了。
如果你是通过浏览器web界面访问服务器上的文件,那么可能在浏览器的缓存文件夹里面还保留有一份副本。1如果是在远程服务器上删除的话 基本无解,不能恢复了。
当然 如果是自己独享的主机的话还是有办法的 可以自己远程登录主机或让机房的人协助恢复数据
一般都是租用的虚拟主机 这样的话就没办法了。
PS: 个别虚拟主机有恢复误删除目录功能
2如果是在本地FTP目录的话 不怕 可以恢复的 前提是被删除目录所占用的磁盘轨道没有被二次覆盖。如果你购买是虚拟主机,删除了是永久删除。问下供应商是否有备份。有备份的话可以恢复的。
如果你使用云服务器,是在服务器上删除的,可以链接上服务器,在回收站里,是可以恢复的。若果使用FTP软件删除的话,是永久删除,不能恢复。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)