要实现定时删除某个目录下的所有文件需要用到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
其他时间段也是如此。
原文来自:https://renwole.com/archives/93
本文地址:https://www.linuxprobe.com/linux-crontab-2018.html编辑:王毅,审核员:逄增宝
本文原创地址:https://www.linuxprobe.com/linux-crontab-2018.html编辑:王毅,审核员:暂无