linux-doc-常用归纳

安全删除

安全删除简单的说法就是将rm指令用mv来实现删除,然后替换别名。

脚本编写

替换rm的脚本changerm.sh,把要删除的资源移到tmp目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!bin/sh
trash_dir=/tmp/`date +%Y%m%d` # 自己创建的文件夹的路径

if [ ! -d ${trash_dir} ] ;then
mkdir -p ${trash_dir}
fi

for i in $*
do
suffix=`date "+%H%M%S"`
if [ ! -d "${i}" ]&&[ ! -f "${i}" ];then # 首先判断是否是合法的文件或者文件夹
if [ "${i}" != "-rf" ];then # 这里对-rf进行处理,因为mv指令后面没有-rf参数
echo "[${i}] do not exist"
fi
else
file_name=`basename $i` # 取得文件名称
mv ${i} ${trash_dir}/${file_name}_${suffix}_${RANDOM}
echo "[${i}] delete completed"
fi
done

定时清理的脚本cleartrash.sh用于定时清理tmp目录下过期的文件。(注:rm被封装后,带引号的’rm’执行的是真正的删除)

1
2
3
4
#!bin/sh
trashdir=/trash
cd ${trashdir}
find ./ -mtime +7 -exec 'rm' -rf {} \; # 找到回收站中修改日期大于7天的文件,执行真正的删除

修改别名

vim修改/etc/bashrc~/.bashrc,把别名添加到最后,然后用source重新加载配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 打开全局配置
vim /etc/bashrc

# 添加别名
alias rm='sh /home/shell/changerm.sh'

# 重加载全局配置
source /etc/bashrc

# 打开个人配置
vim ~/.bashrc

# 添加别名
alias rm='sh /home/shell/changerm.sh'

# 重加载个人配置
source ~/.bashrc

定时清理添加

把清理的脚本的执行添加到crontab里面

1
2
3
4
5
6
7
8
9
10
11
# 编辑crontab
crontab -e

# 添加清理计划
00 22 * * * sh /home/shell/cleartrash.sh

# 重启crond服务使之生效
service crond restart

# 查看crontab列表,看是否添加成功
crontab -l

参考

https://cloud.tencent.com/developer/article/1401632