栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux自动切割及删除日志脚本

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux自动切割及删除日志脚本

1.创建脚本,给脚本可执行权限

创建脚本:vim cron.sh
先贴上脚本代码
#!/bin/sh
. /etc/profile
. ~/.bash_profile
cat /data/xcx/logs/catalina.out >> /data/xcx/logs/catalinadate +%Y-%m-%d.out
echo " " > /data/xcx/logs/catalina.out
find /data/xcx/logs -mtime 30 -name “.out” -exec rm -rf {} ;
详解:
#!/bin/sh
. /etc/profile
. ~/.bash_profile
加上可执行头,配置环境变量等;

cat /data/xcx/logs/catalina.out >> /data/xcx/logs/catalinadate +%Y-%m-%d.out
将catalina.out的内容复制到当前日期为名称的(catalinadate +%Y-%m-%d.out)文件里;

echo " " > /data/xcx/logs/catalina.out
将之后的日志输出写入catalina.out文件里;

find /data/xcx/logs -mtime 30 -name “.out” -exec rm -rf {} ;
删除30天之前的、后缀为.out 的日志;

Esc键 :wq
保存脚本,退出编辑脚本

最后给脚本赋予可执行权限
chmod +x cron.sh

2.保存定时任务

crontab -e
进入定时任务编辑命令


代表含义:
分 时 日 月 周

M: 分钟(0-59)。每分钟用*或者 */1表示
H:小时(0-23)。(0表示0点)
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)

每晚23点58分执行cron脚本
58 23 * * * /bin/bash /data/xcx/logs/cron.sh

crontab -l
查看所有定时任务

cat /var/log/cron
查看定时任务日志,可以看下脚本是否执行

注意事项

定时任务表达式 后的可执行脚本的路径必须为绝对路径,
脚本里的日志文件的路径也是绝对路径,
删除日志命令的-mtime n 直接跟数值,即几天前的日志,没有+号,看了其他的文章都有+号,所以不执行,这是个坑。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/965039.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号