linux系统的rm命令太危险,一不小心就会删除掉系统文件。 写一个shell脚本来替换系统的rm命令,要求当删除一个文件或者目录时,都要做一个备份,然后再删除。
1. 简单的实现:
假设有一个大的分区/data/,每次删除文件或者目录之前,都要先在/data/下面创建一个隐藏目录,以日期/时间命名,比如/data/.201703271012/,然后把所有删除的文件同步到该目录下面,可以使用rsync -R 把文件路径一同同步,示例:
#!/bin/bash
filename=$1
now=`date +%Y%m%d%H%M`
read -p "Delete the file or directory $1? yes or no:" input
if [ $input == "yes" ] || [ $input == "y" ]
then
mkdir -p /data/.$now
rsync -aR $1/ /data/.$now/$1/
/bin/rm -rf $1
elif [ $input == "no" ] || [ $input == "n" ]
then
exit 0
else
echo "Please input yes or no"
exit
fi
1. now=`date +%Y%m%d%H%M`:控制日期的格式
date +"%Y_%m_%d_%H_%M" :201