共计 771 个字符,预计需要花费 2 分钟才能阅读完成。
要实现定时删除某个目录下的所有文件需要用到 linux 的 crontab 命令,可以用 shell 脚本实现。例如删除 /tmp 下的所有缓存文件,操作如下:
[root@localhost ~]# vi /etc/init.d/delete.sh
按 i 并复制下面内容到 delete.sh 文件内,之后按 shift+: 输入 wq 保存并退出。#!/bin/bash
dir=/tmp // 需要清空的目录名称
files=`ls ${dir}`
for file in $files
do
if [-e ${dir}/${file} ];then
rm -f ${dir}/${file}
fi
done
然后给此脚本 755 权限,代码如下:
[root@localhost ~]# chmod 755 /etc/init.d/delete.sh
下面就使用 crontab 命令进行时间设定,例如,每天凌晨 3 点清除 /tmp 目录下的所有文件。运行以下命令会进入 vim 编辑界面。
[root@localhost ~]# crontab –e
粘贴以下代码;
0 3 * * * /etc/init.d/delete.sh
保存并退出,现在定时工作已经完成了,每天凌晨 3 点自动清空 /tmp 目录下的文件。crontab –e 的时间用法说明;* * * * * /etc/init.d/delete.sh
分 时 日 月 周 命令
第 1 列 * 号表示分钟 1 -59 每分钟用 * 或者 */ 1 表示
第 2 列 * 号表示小时 0 -23 小时(0 表示 0 点)第 3 列 * 号表示日期 1 -31 日
第 4 列 * 号表示月份 1 -12 月
第 5 列 * 号表示每周,0-6(0 表示星期天)第 6 列是要运行的命令
例如每周 3 的晚上 23:30 运行该脚本,可以这样写:30 23 * * 3 /etc/init.d/delete.sh
其他时间段也是如此。
正文完
星哥玩云-微信公众号