替换rm命令防止误删除

  1. 放置误删除脚本:

    /usr/bin/remove.sh

  2. #!/bin/bash
    PATH_CNT="$#"
    TRASH_DIR="$HOME/.trash"
    mkdir -p $TRASH_DIR
    
    menu(){
    	echo
    	echo -e "\t\t\tSys Options Menu\n"
    	echo -e "\t1.Delete OK!"
    	echo -e "\t2.Don‘t delete, into the recycle bin: $HOME/.trash"
    	echo -e "\t0.Exit menu\n\n"
    	echo -en "\t\tEnter Options:  "
    	read -n 1 option
    }
    mvfunc(){
    	for i in [email protected]
    	do
    		STAMP=`date +%Y%m%d%H%M%s`
    		fileName=`basename $i`
    		mv -f $i $TRASH_DIR/$fileName.$STAMP 
    		echo 
    	done
    }
    
    rmfunc(){
    	for i in [email protected]
    	do
    		STAMP=`date +%Y%m%d%H%M%s`
    		fileName=`basename $i`
    		[ -n $i ] &&  rm -rf $i $TRASH_DIR/$fileName.$STAMP 
    		echo 
    	done
    }
    
    while :
    do
    menu
    case $option in
    	"1")
    		rmfunc [email protected] && exit 0
    		;;
    	"2")
    		mvfunc [email protected] && exit 0 
    		;;
    	"0")
    		break
    		;;
    	*)
    		echo "Sorry,wrong selection"
    		;;
    esac
    done

3. 修改~/.bash_profile(个人偏好文件),如果想让任何用户都修改,在/etc/profile.d/添加全局配置文件:

如/etc/profile.d/remove.sh

alias rm=‘sh /usr/bin/remove.sh‘

以后用户登录或者产生新进程的时候就会启动了

4. 定期清理垃圾箱

如利用crontab机制,如 0 0 * * * rm -rf /home/username/.trash/*

5. 执行结果

test.py.2016062117521466502755

时间: 2025-01-01 11:46:57

替换rm命令防止误删除的相关文章

linux下修改rm命令防止误删除

前言:相信很多朋友都遇到过在linux下用rm命令误删除文件的时候,此刻的心中仿佛有无数的羊驼在奔腾.那么怎么防止这种情况发生呢?当然是有方法的,我们可以写一个shell脚本,改变一下rm命令的作用. 第一步: 先在home目录下创建一个叫username名字的目录(当然名字可以自定义),具体命令为:sudo mkdir username(自定义的名字) 这时候记得要用命令:sudo chmod 777 username(自定义的名字)来改变一下你的目录权限,因为在home目录下刚创建的目录是没

linux替换rm命令,防止误删

1. 在/home/username/ 目录下新建一个目录,命名为:.trash 2.. 在/home/username/tools/目录下,新建一个shell文件,命名为: remove.sh #!/bin/bashPARA_CNT=$# TRASH_DIR="/home/username/.trash" for i in $*; do STAMP=`date +%s` fileName=`basename $i` mv $i $TRASH_DIR/$fileName.$STAMP

替换Linux下的rm命令

1.编写脚本 vi /home/scripts/del.sh 内容如下: #!/bin/bash # Description: 替换rm命令,不是删除文件,而是移动文件到/tmp/trash_tmp/ TMP_DIR="/tmp/trash_tmp" mv [email protected] $TMP_DIR 2.赋予权限 chmod +x /home/scripts/del.sh mkdir -p /tmp/trash_tmp chmod 777 /tmp/trash_tmp 3.修

ubuntu系统下使用rm命令删除文件

一 ubuntu系统下使用rm命令删除文件,如何恢复? 如果是ext3/ext4文件系统,可以使用extundelete工具恢复. $ df -hT 文件系统       类型      容量  已用  可用 已用% 挂载点 /dev/sda1    ext4      455G  366G   66G   85% / 参考文章: 1. http://longgeek.com/2012/11/25/extundelete-recovery-for-linux-ext2-ext3-ext4-rm-

linux (rm指令) 及误删除解决

今天在群里看见这一幕: 看到这儿,我们学习一下 这个RM指令 rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉.对于链接文件,只是删除整个链接文件,而原有文件保持不变. 注意:使用rm命令要格外小心.因为一旦删除了一个文件,就无法再恢复它.所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除.rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用.使用这个选项,系统会要求你逐一确定是否要删除.这时,必须输入y并按

如何将Linux rm命令删除的文件放入垃圾箱

因为rm命令删除的文件是不会放入垃圾箱的,所以无法恢复,下面小编就给大家介绍一种方法,通过替换Linux rm命令的方法,从而将rm命令删除的文件放入垃圾箱. 方法: 1. 在/home/username/ 目录下新建一个目录,命名为:.trash 2. 在/home/username/tools/目录下,新建一个shell文件,命名为: remove.sh PARA_CNT=$# TRASH_DIR="/home/username/.trash" for i in $*; do ST

下厨房6月26日数据丢失事故总结 MYSQL主分区被rm 命令误删除

下厨房6月26日数据丢失事故总结 MYSQL主分区被rm 命令误删除 http://tech.xiachufang.com/?p=18 在6月26日凌晨12点左右,我们在做线上数据库的备库时,误将线上数据库分区上的所有文件删除.丢失的数据时间段为4月23日至6月25日两个月,在经过7天的努力后,恢复了99%以上的数据.(具体见下面的统计). 下面把整个事故过程记录下来,令关心本次技术事故的人们知晓. 一. 事故隐患 现在回顾,事故隐患在4月23日之后就已经存在. 我们线上数据库使用的是MySQL

Linux系统的rm命令太危险,一不小心就会删除系统文件。写一个shell脚本来替换系统的rm命令,

Linux系统的rm命令太危险,一不小心就会删除系统文件.写一个shell脚本来替换系统的rm命令,要求当删除一个文件或者目录时都要做一个备份,然后再删除. 假设有一个大的分区/data/,每次删除文件或者目录前,都要在/data/下面创建一个隐藏目录,以日期/时间命名,比如/data/.201802021054,然后把所有删除的文件同步到该目录下面,可以使用rsync -R把文件路径一同同步 答案: #!/bin/bash d=`date +%Y%m%d%H%M` read -p "Are y

使用 trash-cli 逃出 rm 命令误删除重要文件的阴影

今天是一个难忘的日子,当时本来想清除我们公司网站cms目录下面一些cdn推送网页后残留的垃圾文件,结果在执行rm -rf conten* 时打成了rm -rf conten *结果就悲剧了.cms目录下面的全部给删除了,网站首页的样式全没了,当时就傻了,网站直接挂升级页面,由于备份的也不全,只能把测试环境的拉一份,和php的同事慢慢改,虽然最好好了,但是给公司造成的影响挺严重的,我真是欲哭无泪. 虽然最后解决了,但给我留下很大的阴影,就在网上找看看有没有像windows那样的.删除了可以去回收站