如何优雅地使用 rm 防止误删除?】的更多相关文章

IT 界的有一个老梗,一次某论坛的数据库管理员抱怨自己老板一直虐待他,结果他一气之下就删库跑路了...... 于是... 据新华社北京 8 月 20 日电 ,北京一软件工程师徐某离职后因公司未能如期结清工资,便利用其在所设计的网站中安插的后门文件将网站源代码全部删除.记者 20 日从北京市丰台区人民法院获悉,徐某破坏计算机信息系统罪成立,获刑五年. 我在服务器维护的时候不小心执行了rm -rf命令......现在整台服务器被我删光了肿么办??? 好吧,现在先来介绍一下rm. rm -rf 的威力…
高性能Linux服务器 第6章  ext3文件系统反删除利器ext3grep  extundelete工具恢复rm -rf 误删除的文件 只能用于ext3文件系统!!!!!!!高俊峰(高性能Linux服务器构建实战:运维监控.性能调优与集群应用(完整)) Linux作为企业级服务器,数据的安全性至关重要,任何数据的丢失和误删除都是不可容忍的.作为系统管理员,一定要有数据保护意识,不但要对服务器数据进行定期备份,而且还要具有误删除数据后将其快速恢复的技能.本章重点讲述Linux下的ext3文件系统…
下厨房6月26日数据丢失事故总结 MYSQL主分区被rm 命令误删除 http://tech.xiachufang.com/?p=18 在6月26日凌晨12点左右,我们在做线上数据库的备库时,误将线上数据库分区上的所有文件删除.丢失的数据时间段为4月23日至6月25日两个月,在经过7天的努力后,恢复了99%以上的数据.(具体见下面的统计). 下面把整个事故过程记录下来,令关心本次技术事故的人们知晓. 一. 事故隐患 现在回顾,事故隐患在4月23日之后就已经存在. 我们线上数据库使用的是MySQL…
今天是一个难忘的日子,当时本来想清除我们公司网站cms目录下面一些cdn推送网页后残留的垃圾文件,结果在执行rm -rf conten* 时打成了rm -rf conten *结果就悲剧了.cms目录下面的全部给删除了,网站首页的样式全没了,当时就傻了,网站直接挂升级页面,由于备份的也不全,只能把测试环境的拉一份,和php的同事慢慢改,虽然最好好了,但是给公司造成的影响挺严重的,我真是欲哭无泪. 虽然最后解决了,但给我留下很大的阴影,就在网上找看看有没有像windows那样的.删除了可以去回收站…
一.缘由: 最近看到这则新闻,很是悲伤,因为我最近也在用ansible:然而这一错误源自Ansible上糟糕的代码设计,这款Linux实用工具被用于在多台不同服务器上自动执行脚本. 开发者解释到,实际参数应该是“rm -rf {foo}/{bar}”,foo和bar是脚本中动态传递的两个变量.然而由于变量处理出错,通用语法未能成功在bash命令中插值,所以最终指令就变成了可怕的“rm -rf /”. “rm -rf /”意味着擦除根路径“/”下挂载的所有内容而无需询问. 以前一个主管说过,在你不…
1.下载extundelete包,安装依赖 我用的是Centos系统,在安装extundelete之前需要安装e2fsprogs,e2fsprogs-libs,e2fsprogs-devel. yum install e2fsprogs e2fsprogs-libs e2fsprogs-devel 然后下载extundelete程序 下载地址: http://extundelete.sourceforge.net/ 2.编译安装extundelete 编译步骤: tar xjf extundel…
trash-cli是一个使用 python 开发的软件包,包含 trash-put.restore-trash.trash-list.trash-empty.trash-rm等命令,我们可以通过这写命令,将文件移动到回收站,或者还原删除了的文件.trash-cli的项目地址:trash-cli下载地址 转载于http://www.seiang.com/?p=229 1.下载trash-cli安装包 [root@VM_54_118_centos others]# git clone https:/…
说明:不解释了,运维应该在每台服务器都去配置这个问题以减少灾难的发生 方法: 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/ 官方地址:http:/…
前言:相信很多朋友都遇到过在linux下用rm命令误删除文件的时候,此刻的心中仿佛有无数的羊驼在奔腾.那么怎么防止这种情况发生呢?当然是有方法的,我们可以写一个shell脚本,改变一下rm命令的作用. 第一步: 先在home目录下创建一个叫username名字的目录(当然名字可以自定义),具体命令为:sudo mkdir username(自定义的名字) 这时候记得要用命令:sudo chmod 777 username(自定义的名字)来改变一下你的目录权限,因为在home目录下刚创建的目录是没…
“慎用rm -rf命令,除非你知道此命令带来的后果.”这是一条Linux用户守则,虽然大多数用户都明白这条语句的含义,但是我觉得还需要完善一下,为这条语句加 上一个使用前提:在你确认自己拥有清醒头脑,并且输入没有误差的时候可以使用rm -rf命令.这次惊心动魄的起因就是我将rm –rf log* 命令错误的输成了rm –rf log *,造成了当前目录下的所有项目文件全部被误删除. ls了两回,确定自己不是眼花后开始寻找解决 办法,昔日在Windows下有很多次数据恢复经历,但在Linux下这还…
说明:转自各大优化方案,相当于是一个大杂烩,后续会搞成是一个Shell脚本简化操作. 1.修改ip地址.网关.主机名.DNS等 (这个操作可以使用Setup工具进行配置,但不建议使用,封装太多,没有配置文件清晰) [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #网卡名字 BOOTPROTO=static #静态IP地址获取状态 如:DHCP表示自动获取IP地址 IPADDR=192.168…
利用 rm -rf 误删除文件夹, 恢复的办法(注意 要 提前备份或提交 其他新改变的代码, 否则执行下面的命令会让之前的新代码全部消失): git status git reset HEAD \* git checkout -- . git status Git global setup git config --global user.name "xxx" git config --global user.email "xxxxx.xx@ximalaya.com"…
在linux redhat 5.4版本,rm误删除数据库文件的恢复过程分享.测试没有问题,可用. 1.首先测试rm 误删除数据库文件 [oracle@primary dbwdn]$ ll total 2153164 -rw-r----- 1 oracle dba 8536064 Nov 27 21:50 control01.ctl -rw-r----- 1 oracle dba 8536064 Nov 27 21:50 control02.ctl -rw-r----- 1 oracle dba…
今天在群里看见这一幕: 看到这儿,我们学习一下 这个RM指令 rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉.对于链接文件,只是删除整个链接文件,而原有文件保持不变. 注意:使用rm命令要格外小心.因为一旦删除了一个文件,就无法再恢复它.所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除.rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用.使用这个选项,系统会要求你逐一确定是否要删除.这时,必须输入y并按…
1.下载safe源码包: wget https://launchpad.net/safe-rm/trunk/0.12/+download/safe-rm-0.12.tar.gz 2.解压safe-rm tar -zxf safe-rm-0.12.tar.gz 3.复制safe-rm到/usr/local/bin目录下 cp safe-rm-0.12/safe-rm   /usr/local/bin/rm 4.添加环境变量 vim /etc/profile #在最后一行添加 PATH=/usr/l…
首先,自从使用链式调用的写法后,就一发不可收拾的喜爱上了这种优雅的方式.不管是写架构还是写模块,我都会不自觉的使用这种最优雅的方式.链式写法既减少了代码量,又非常优雅的. 在使用 egret 的http请求时,发现代码量很大,而且比较繁琐,不能每次都要写这么多的代码吧--那来看看正常的写法是什么: getTest(): void { //一点也不优雅 var loader: egret.URLLoader = new egret.URLLoader(); loader.dataFormat =…
:刚在群里面看到小伙伴误操作把服务器上重要的文件给删掉了,于是google了下,找到一篇文章把rm命令改造成mv命令,源博客如下:http://blog.csdn.net/dataspark/article/details/13015351,下面是步骤 1. 在/home目录下新建两个目录,命名为:.trash,tools 2. 在/home/tools/目录下,新建一个shell文件,命名为: remove.sh PARA_CNT=$# TRASH_DIR="/home/.trash"…
 linux下恢复误删除的文件方法(ext2及ext3) 2009-12-19 15:23:47 分类: LINUX 如果是ext2文件系统的,直接用debugfs是可以恢复出来的,但对于ext3,debugfs就无能为力了,好在我们有了ext3grep这个开源工具(http://code.google.com/p/ext3grep/)!     对于ext2 1.在/data(/dev/sdb)上创建并删除测试文件(作测试目的以plantodelete为例)   #vi plantodelet…
一. 将磁盘分区挂载为只读 这一步很重要,并且在误删除文件后应尽快将磁盘挂载为只读.越早进行,恢复的成功机率就越大. 1.  查看被删除文件位于哪个分区 [root@localhost  ~]# mount /dev/mapper/VolGroup-lv_root on / type ext4(rw) /dev/mapper/VolGroup-lv_home on /home type ext4(rw) 2.  尝试将对应目录重新挂载为只读 [root@localhost  ~]#  mount…
恢复Linux下被误删除的文件 [root@xuegod63 ~]# mount /dev/cdrom /mnt/ 分一个区:sda4  查找:extundelete 分一个区:sda4  [root@localhost ~]# mkdir /tmp/sda4 [root@localhost ~]# mkfs.ext4 /dev/sda4     格式化 [root@xuegod63 Desktop]# echo $? 0 [root@localhost ~]# mount /dev/sda4…
用途说明 rm命令是常用的命令,用来删除文件或目录(remove files or directories).它也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/下执行rm * -rf).所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持清醒的头脑. 在rm的手册中写道:用rm删除文件还是有可能恢复文件内容的,如果要不可恢复的删除文件,考虑使用shred命令.(_Warning_: If you use `rm' to r…
如何在NodeJS项目中优雅的使用ES6 NodeJs最近的版本都开始支持ES6(ES2015)的新特性了,设置已经支持了async/await这样的更高级的特性.只是在使用的时候需要在node后面加上参数:--harmony.但是,即使如此node也还是没有支持全部的ES6特性.所以这个时候就需要用到Babel了. 现在开始Babel 在开始使用Babel之前,假设 你已经安装了nodejs,并且已经熟悉了Js. 你也可以使用npm安装各种依赖包. 而且你也对ES6(后来改为ES2015)有一…
rm的悲剧总是发生在不经意之间,所以无论是在shell脚本中还是交互式bash环境下,执行rm命令时总应该三思三思再三思.也因此,很多人想尽办法防止文件误删除,方法也各种各样. 1.1.1 alias一般用法 默认rm是"rm -i"的别名,ll就是"ls -l"的别名.可以自定义别名来代替某些命令配合某些选项,也可以定义别名组合多个命令.例如: [root@xuexi ~]# alias ls='ls -lA' 这样在列出目录时将同时列出隐藏文件. 使用不带参数的…
在git仓库管理下误删除文件一般会分为以下3种情况: 1.手动直接删掉,如选择-右击-删除 这种删除未修改本地仓库[版本库],只修改了工作区,直接git checkout -- fileName即可恢复.如: 2.使用git rm 删除,是从版本库中删除该文件,若要恢复只能恢复至上一个提交记录,本次的修改内容将丢失,如: 3.文件已删除且已推送至远程仓库,这时只能通过历史记录恢复: 首先找到这个文件的最近的修改记录[删除前的最近],git log [-p fileName]; 然后恢复:git…
前言 每当我们在生产环境服务器上执行rm命令时,总是提心吊胆的,因为一不小心执行了误删,然后就要准备跑路了,毕竟人不是机器,更何况机器也有bug,呵呵. 那么如果真的删除了不该删除的文件,比如数据库.日志或执行文件,咋办呢?欲知后事如何,请仔细看完本篇博客. 模拟场景 1. 删除 误删除服务器目录/root/selenium/Spider下的MySql.Data.dll文件: > rm -f /root/selenium/Spider/MySql.Data.dll > ll /root/sel…
误删除MySQL用户导致无法进入数据库 一.方法一 1.停止数据库 [root@db02 ~]# /etc/init.d/mysqld stop 2.跳过授权表,跳过网络启动数据库 [root@db02 ~]# mysqld_safe --skip-grant-tables --skip-networking & 3.连接数据库 [root@db02 ~]# mysql 4.插入新的root用户 insert into mysql.user values ('), 'Y', 'Y', 'Y',…
优雅的使用Linux 系统安装 启动盘制作 通过rufus烧制官网镜像,注意根据自己系统的引导模式选择相应模式,不确定的,可以在windows中通过Win + R 快捷键调出"运行"对话框,输入"msinfo32",确定,打开"系统信息"窗口查看. 分区 如果windows的引导正常,安装时可以选择与windows共存.如果未出现该选项,可以这么分区: 挂载点/;主分区:安装系统和软件:大小为30G:分区格式为ext4: 挂载点/home;逻辑分…
linux不像windows有个回收站,使用rm -rf *基本上文件是找不回来的. 那么问题来了: 对于linux下误删的文件,我们是否真的无法通过软件进行恢复呢? 答案当然是否定的,对于误删的文件,我们还是能通过软件恢复过来的.对于误删文件还原可以分为两种情况: 一种是删除以后在进程存在删除信息 一种是删除以后进程都找不到,只有借助于工具还原. 接下来以例子分别解说下两种不同的误删还原方式: 误删除文件进程还在的情况: 这种一般是有活动的进程存在持续标准输入或输出,到时文件被删除后,进程PI…
一般情况下,我们在安装Oracle数据库的时候,都会创建一个Oracle用户,用该用户来安装和管理Oracle.Oracle用户的根目录就是/home/oracle. 通常安装Oracle数据库是按照官方文档的建议来创建和管理的数据库,这样也便于进行进行数据库的管理. 今天早上,一朋友就出现这个问题,在客户那里,使用rm –rf ./home命令误删除了整个/home目录,当时他整个人都快要崩了,不知道该如何去恢复,没有任何思路.居然犯这么低级的错误:rm -rf 这样的命令也敢用:哎,都是苦逼…