博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux防止“rm -rf /”误删除
阅读量:5838 次
发布时间:2019-06-18

本文共 1041 字,大约阅读时间需要 3 分钟。

说明:不解释了,运维应该在每台服务器都去配置这个问题以减少灾难的发生

方法:

1、safe-rm

safe-rm是一个开源软件用来替代不太安全的rm,可以在/etc/safe-rm.conf中配置路径黑名单,定义哪些不能被safe-rm删除。

可以将safe-rm更名为rm并放在$PATH中比原rm程序靠前的位置,或者使用alias设置。一些脚本中使用完全路径/bin/rm则不会受此影响。

$ rm -rf /etc/ #提示safe-rm: skipping /etc/

官方地址:,Ubuntu可以直接apt-get安装,CentOS要下载源码安装。

2、(推荐这种方式)建立回收站机制

它并不真正执行删除操作,而是将文件移动到一个特定目录,可以设置定时清楚回收站,或者在回收站里面的文件大小达到一定容量时(或者用时间做判断)执行删除操作以腾出空间。

可以写个Shell脚本替换rm命令,或者在需要删除文件的时候使用mv命令将文件移动到回收站。  

1)在/home/username/目录下新建一个目录,命名为:.trash

2)在/home/username/tools/目录下,新建一个Shell文件,命名为:remove.sh

TRASH_DIR="/home/username/.trash"    for i in $*; do      STAMP=`date +%s`      fileName=`basename $i`      mv $i $TRASH_DIR/$fileName.$STAMP  done

3)修改~/.bashrc, 增加一行

alias rm="sh /home/username/tools/remove.sh"

用我们自建的remove.sh替代rm命令

4)设置/etc/crontab,定期清空垃圾箱,如:

0 0 * * * rm -rf /home/username/.trash/*

每天0点清空垃圾箱

5)source ~/.bashrc使替换立即生效

3、注意脚本中rm -rf变量的使用

在脚本尽量不要使用 rm -rf $FOO/, 请使用rm -rf $FOO,另外删除尽量不要写相对路径,不要带变量。 

4、根文件系统设置只读挂载

noauto,ro

5、各种备份

可以异地远程备份重要的数据,采用dump的增量备份机制,LVM快照,虚拟化环境中的快照、raid5等等。

 

参考:

(以上内容转自此篇文章)

转载地址:http://isjcx.baihongyu.com/

你可能感兴趣的文章
C++关于字符串的处理
查看>>
Breaking parallel loops in .NET C# using the Stop method z
查看>>
[轉]redis;mongodb;memcache三者的性能比較
查看>>
让你的WPF程序在Win7下呈现Win8风格主题
查看>>
802.11 学习笔记
查看>>
Leetcode-Database-176-Second Highest Salary-Easy(转)
查看>>
构建Docker Compose服务堆栈
查看>>
Hadoop生态圈-Kafka常用命令总结
查看>>
如何基于Redis Replication设计并实现Redis-replicator?
查看>>
浮点数内存如何存储的
查看>>
贪吃蛇
查看>>
EventSystem
查看>>
用WINSOCK API实现同步非阻塞方式的网络通讯
查看>>
玩一玩博客,嘿嘿
查看>>
Ubuntu设置python3为默认版本
查看>>
JsonCpp 的使用
查看>>
问题账户需求分析
查看>>
JavaSE-代码块
查看>>
爬取所有校园新闻
查看>>
32、SpringBoot-整合Dubbo
查看>>