Linux 生產環境代替rm腳本

#!/bin/bash
#
# Replace the rm command to prevent misuse
# name: alenx
#
# crontab : 0 0 * * 2,4,6 /bin/rm -rf $(find /* -name .RecycleBin)/* > /dev/null 2>&1
# vi /etc/profile
# alias rm='/bin/bash /usr/local/bin/delete.sh'
# source /etc/profile

current_dir=$(pwd)

if [ ! -d ~/.RecycleBin ]; then
        mkdir ~/.RecycleBin
fi

if [ $# -eq 0 ];then
    echo "Usage: delete file1 [file2 file3 ...]"
else
    echo "My dear, you are about to delete --- :"
    echo $@
        read -p "Are you sure to delete it(them)? [y/n]:" user_answer
        if [ "${user_answer}" == "y" ] || [ "${user_answer}" == "Y" ]; then
                for file in $@; do
                        if [ ${file:(-1)} == "/" ];then
                            file=${file%?}
                        fi
                        if [ -f "${current_dir}/${file}" ] || [ -d "$current_dir/$file" ]; then
                                current_date=$(date)
                                current_date=${current_date// /_}

                                dest_file="${file}__DelTime:${current_date}"

                                mv "${current_dir}/${file}"  "${current_dir}/${dest_file}"
                                mv "${current_dir}/${dest_file}" ~/.RecycleBin
                        else
                                echo "${file}: No such file or directory, my dear!"
                        fi
                done
        else
                echo "No file or directory removed"
        fi
fi

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章