Linux运维之文件删除与恢复
2021年02月05日,部署geoserver的图片样式时,发现/usr/local/下的tomcat文件夹不见了,连同nginx等目录也不存在了。但是在同一时间的早些时候,文件都还在,并且geoserver也可以正常的运行,在地图上可以叠加相应的WMS服务。
问题可能原因,文件家被移动了。经过检查,发现在/usr/ogdi41目录下有一个local文件夹,里面包括了所有需要的应用程序,比如tomcat_9.0.40文件夹,以及nginx文件夹。初步怀疑是管理员在操作时不小心将文件夹移动所致,然后就是将/usr/ogdi41/local/重新移动到/usr/local。
1.误删文件后恢复数据 (阿里云提供的使用extundelete进行恢复的操作)
2.linux如何复制文件夹和移动文件夹 (这里的cp -Rf 强制覆盖好像有些问题,因为即便是使用了-f,还是会提示是否覆盖,主要原因是cp命令被系统设置了别名,相当于cp=‘cp -i’,所以需要执行 /bin/cp -rf 代替)
3.Linux 使用 cp 命令强制覆盖功能 (cp强制覆盖)
4.linux cp命令直接覆盖不提示按Y/N的方法 (也是两种方式说明如何使用cp进行强制覆盖)
5.lsof查看文件被什么进程占用 (如何使用lsof命令)
6.Linux恢复误删除的文件或者目录 (这里说了两种方法,一种就是使用了lsof命令,恢复程序正在使用的文件;一种是使用extundelete工具恢复被删除的文件)
7.急,虚拟机linux根目录下面的usr文件夹不见了!! (先使用history进行文件移动)
1.查找操作记录
1 | history |
1.Linux环境下查看历史操作命令及清除方法
2.查看进程使用文件
1 | ## 查看被删除的文件 |
1.linux使用lsof恢复删除文件 (使用lsof查找被程序加载的文件,并恢复的方法,这个前提就是程序正在运行)
3.阿里云工程师给出的方法
删除记录您可以执行history命令看下是否有对应的记录,恢复数据如果之前有创建快照的话,可以使用快照创建云盘挂载到服务器上恢复一下对应的数据,如果没有快照,可以参考以下链接恢复一下,操作之前请您务必创建快照备份好数据
4.rm无法删除文件
在使用rm -rf 命令删除文件的时候,出现了:cannot remove ‘local/aegis/aegis_update/aegis.crt’: Operation not permitted,可是我已经是处于root权限了。
解决方法,使用chattr进行文件解锁。chattr命令的作用很大,通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。
1 | chattr -i local/* |