今天在服务器上部署项目的时候,项目中下载文件的代码发生了异常,提示是磁盘空间不足。
之后我对磁盘进行了清理,由于我们项目中的下载文件也是定时任务,我总不能经常来清理这个磁盘吧,那太麻烦了,所以我定义了一个linux的定时任务。
我们需要用命令开启定时任务的vi编辑器
crontab -e
在vi编辑器中我们编写定时删除的脚本
* * * * * rm -rf /home/down/*
我们可以看出在删除命令前有五个星号,这五个星号分别代表了五个时间周期,分别为 : 分钟,小时,日,月,周
例如我们想要每分钟删除一次可以这样写
*/1 * * * * rm -rf /home/down/*
想要在一个时间周期内执行命令可以这样
* 8-20/2 * * * rm -rf /home/down/*
这个表示在早上8点到晚上8点之间,每两个小时执行一次后面的命令。
这里还有一个问题,现在我们知道这个脚本的时间周期只有5个,最小到分钟,如果我们想要在秒单位下执行命令怎么办?我们需要用到睡眠一定时间达到这个效果
* * * * * sleep 20; rm -rf /home/down/*
表示20秒执行一次
然后我们可以通过crontab命令查看所有的crontab命令
crontab -l
系统计划任务的日志在/var/log 下 的cron文件中
cd /var/log/
使用less命令查看,可以使用pageUp和pageDown分页查看
less cron