美文网首页
防手抖误删除脚本(shell)

防手抖误删除脚本(shell)

作者: 小王同学123321 | 来源:发表于2020-12-23 15:34 被阅读0次
#!/bin/bash
  
# 设置回收路径  
trashPath=/home/search/.MyTrash  
  
# 设置保存时间,172800为2天  
period=172800  
  
# 创建回收文件夹  
if [ ! -d "$trashPath" ]; then  
    mkdir $trashPath  
fi  
  
# 清除命令中的所有开关选项  
args=${@##-*}  
  
# 根据当前时间新建临时文件夹  
dest=$trashPath/`date "+%Y-%m-%d_%H:%M:%S_%s"`/  
if [ ! -d "$dest" ]; then  
    mkdir $dest  
fi  
  
# 移动文件,如有必要,修改错误信息并输出  
msg=`mv $args "$dest" 2>&1`  
if [ ! "$msg" = "" ]; then  
    echo ${msg//mv/my_rm}  # 将错误信息中的“mv”替换成"my_rm"  
fi  
  
# ======================================  
# 每天第一次使用这个命令后,清理一段时间以前回收的文件  
# ------------------------------  
# 定义清理旧文件的函数  
function clearOldFile()  
{  
    echo "delete old file, please wait ..."  
      
    now=`date "+%s"`  
    for folder in `ls $trashPath`  
    do  
        folderTime=${folder##*_}  # 获取文件名中“_”后的数字  
        gap=`expr $now - $folderTime`  
        # echo $folder    $gap  
        if [ $gap -gt $period ]; then  
            # echo rm $trashPath/$folder  
            /bin/rm -rf $trashPath/$folder  # 删除$period之前的文件夹  
        fi  
    done  
}  
# ------------------------------  
# 设置标志文件路径  
flagFile=$trashPath/.flag  
  
today=`date "+%d"`  
if [ -f "$flagFile" ]; then  
    lastTime=`cat $flagFile`  # 读取标志文件中的日期  
    if [ "$lastTime" -ne "$today" ]; then  # 如果不是今天的日期就清理  
        clearOldFile  
    fi  
else  # 标志文件不存在也要清理  
    clearOldFile  
fi  
echo $today > $flagFile  # 输出今天的日期到标志文件  
# =====================================

在普通用户的~/.bashrc文件中添加
alias rm=$HOME/.rm.sh

相关文章

  • 防手抖误删除脚本(shell)

    在普通用户的~/.bashrc文件中添加alias rm=$HOME/.rm.sh

  • Shell入门笔记

    Shell脚本:Linux Shell脚本学习指南菜鸟教程 - Shell教程Linux入门 - Shell脚本是...

  • 2018-09-26

    shell脚本 1.1、什么是shell脚本(shell script , ...

  • Shell script + crontab实现Mysql定时备

    一、Shell 脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。 业界所...

  • 嵌入式day12

    shell脚本的本质 shell脚本语言是解释型语言 shell脚本的本质:shell命令的有序集合 shell编...

  • shell脚本

    什么是shell脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所说...

  • Shell脚本语法

    1. Shell脚本简介Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所...

  • shell脚本

    什么是Shell脚本 Shell脚本(英语:Shell script),又称Shell命令稿、程序化脚本,是一种电...

  • 【生物信息笔记】shell 脚本 (dry-2)

    shell 和 shell script(脚本)区别: shell 和 shell 脚本是两个不同概念,shell...

  • 防cc攻击shell脚本

    参考文章: http://blog.csdn.net/samxx8/article/details/4689723...

网友评论

      本文标题:防手抖误删除脚本(shell)

      本文链接:https://www.haomeiwen.com/subject/kwtunktx.html