linux-crontab简单使用

本文介绍如何使用Crontab周期性执行任务,通过定时删除日志文件来释放磁盘空间,解决项目运行中磁盘空间不足的问题。文章详细展示了Crontab的配置过程,包括脚本编写、权限设置及Crontab表达式的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux-crontab简单使用

最近在使用阿里云,项目部署到阿里云上一切运行正常,几个月之后突然发现项目中实时数据没有展示,百思不得其解,重启服务或者重启云主机暂时正常,过一会又没法读取实时数据了。发愁之际突然灵光一闪,没有读取到数据是不是因为没有写入数据的原因啊?没有写入数据是不是磁盘满了呢?

使用命令查看一番,磁盘确实已满
使用 df -h 命令进行查看
磁盘信息查看

crontab的使用

使用crontab可以周期性的执行一些任务,周期性删除日志文件就可以达到清理磁盘空间的目的。

示例

使用crontab周期性产生文件

测试生成文件可能更直观一些
/usr/local/logs/ 文件存放目录
/usr/local/job/ 执行脚本存放目录

1、首先编写想要执行的脚本 auto-mk-log.sh

#!/bin/sh
touch /usr/local/logs/access_`date +%Y%m%d%H%M`.log

2、添加可执行权限
#chmod -x auto-mk-log.sh

3、编辑crontab
每隔一分钟执行一次脚本
crontab -e
crontab

4、查看logs目录下是否产生了新文件
通过查看可以看到每分钟产生一个文件,说明crontab执行成功。执行结果

使用crontab周期删除文件

1、编写删除文件的脚本 auto-del-log.sh,并添加可执行权限
删除一天内logs文件夹下匹配*.log的文件
删除脚本

2、编辑crontab
crontab

3、查看结果
先前产生的众多文件已被删除,只有一个新生成的文件。
在这里插入图片描述

crontab表达式相关

分     时     日     月    星期     命令
0-59    0-23    1-31   1-12    0-6   command
“*”代表取值范围内的数字
“/”代表”每”
“-”代表从某个数字到某个数字

删除脚本说明

find /usr/local/logs/ -mtime -1 -name “*.log” -exec rm -rf {} ;

说明:
find:Linux查找命令,用户查找指定条件的文件
/usr/local/logs/:需要进行清理的目标目录
-mtime:标准语句写法
-1 :数字代表天数
-name "*.log":目标文件的类型,带有log的所有文件
-exec:固定写法
rm -rf:强制删除包括目录在内的文件
{} \;:固定写法,一对大括号+空格+\+;

小尾巴~~
只要有积累,就会有进步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值