定时删除服务器的日志

如何定时删除服务器日志

如何删除服务器旧日志

# delete_projectName_log.sh  //删除日志的脚本
#!/bin/bash
find /opt/logs/projectName/ -mtime +7 -name "mall.log-*" -exec rm -rf {} \; #找到超过7天的日志执行删除操作
find /opt/logs/projectName/ -mtime +2 -name "warn.log-*" -exec rm -rf {} \;
find /opt/logs/projectName/ -mtime +2 -name "error.log-*" -exec rm -rf {} \;


find /var/projectName/logs/ -mtime +7 -name "mall.log.*" -exec rm -rf {} \;
find /var/projectName/logs/ -name "projectName.jmonitor.log.2018-*" -exec rm -rf {} \;
find /var/projectName/logs/ -name "projectName.jmonitor.logstore.log.2018-*" -exec rm -rf {} \;

如何定时删除服务器日志

启动一个定时任务就行,crontab -e 开启定时任务脚本编辑模式,输入下述脚本并保存可以实现每周三凌晨4点25分执行上述的日志删除工作,该脚本会定时自动触发,不需要额外的配置。
定时任务示例

# 每周三凌晨4点25分执行上述的日志删除工作
25 4 * * 3 /bin/sh ~/delete_projectName_log.sh 

crontab -e命令简介
crontab -e 是针对用户的cron来设计的,如果是系统的例行性任务,该怎么办?是否还是需要以crontab -e来管理例行性命令?当然不需要,您只需要编辑/etc/crontab文件就可以了。需要注意的是:crontab -e的作用其实是/usr/bin/crontab这个执行文件,但是/etc/crontab是个纯文本文件,可以root的身份编辑这个文件。
crontab -e命令格式

crontab -e
# 此时会进入 vi 的编辑画面让您编辑工作!注意到,每项工作都是一行。
#分 时 日  月 周      |<==============任务的完整命令行
 *  *  *  *  *       /home/blue/do/doTask.sh

crontab 语法

crontab [-u username] [-l|-e|-r]
选项与参数:
-u  :只有 root 才能进行这个任务,亦即帮其他使用者创建/移除 crontab 工作排程;
-e  :编辑 crontab 的工作内容
-l  :查阅 crontab 的工作内容
-r  :移除所有的 crontab 的工作内容,若仅要移除一项,请用 -e 去编辑

你可能感兴趣的:(project)