
其中:
/data/backup/ - 目标目录
-maxdepth - 最大目录层次,我要从第一级目录开始删除,1就可以了
-type d - *** 作对象为目录, f 代表文件
-mtime + - 7天前的目录
-exec rm -rf {} - 执行命令的标准格式
配合脚本,就可以自动在服务器上清理旧的临时文件了。
磁盘只有22T容量,为了避免爆盘,业务需要定时清除数据,根据网上的资料总结了一下设置方法:
可以使用find命令
另外的方法大同小异:
可以吧这个命令写到脚本里,
cleandata.sh
find /tmp -mtime +30 -type f -name "*" -exec rm -rf {}
配置可执行
chmod u+x ./cleandata.sh
配置到crontab
crontab -e
0 0 * * * /home/username/cleandata.sh >/dev/null 2>&1
每天零点自动执行
其中:
第一个 号表示时间中的 分钟 取值范围:0-59
第二个 号表示时间中的 小时 取值范围:0-23
第三个 号表示一个月中的第几天,取值范围:1-31
第四个 号表示一年中的第几个月,取值范围:1-12
第五个*号表示一个星期中的第几天,以星期天开始依次的取值为0~7,0、7都表示星期天
find 命令可以完成这一需求,比如删除3天前的所有以“.log”结尾的文件:find /文件路径 -name "*.log" -mtime +2 -exec rm {} \
说明:
1. 文件路径是目标文件所在路径;
2. -name 设定目标文件名,建议采用,否则可能误删其他文件;
3. -ctime 文件最后一次修改时间,后面只能用整数,单位为天,同时,还有atime,mtime,amin,cmin,mmin等时间参数可选,具体请查看帮助;
4. 时间说明如下图(随手画的,大概是这个意思),所以删除三天前的文件要用+2
5. -exec 表示需要执行的命令,{}代表find找到的内容,"\"是固定写法表示结束-exec,
所以例子的"-exec rm {} \" 就表示对find找到的符合条件的文件执行删除 *** 作
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)