shell命令删除昨日的日志_linux定时自动清理日志文件
现有一个应用系统,应用日志记录的内容很多,经常造成存储空间不够,需要手工去删除早期的日志文件来释放空间。应用的日志文件命名如下,固定前后缀加上日期和小时:
为了避免手工删除日志,考虑通过写shell脚本来删除30天以前的日志文件,然后使用crontab命令生成定时任务,在每天早上0点1分调用上面的shell脚本进行日志清理。
基本环境信息如下:
工作目录:/home/weblogic/scripts/cleanlog
日志文件目录:/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/sk
1. 创建日志清理脚本cleanLog.sh
cd /home/weblogic/scripts/cleanlog
vi cleanLog.sh
输入脚本内容如下:
WORK_HOME=/home/weblogic/scripts/cleanlog
WORK_LOG_FILE=${WORK_HOME}/log/cleanup.log
#WORK_ERROR_FILE=${WORK_HOME}/log/cleanup.error.log
LOG_PATH=/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/sk/
LOG_FILE_DATE_PART=`date -d "-30 day" +%Y-%m-%d`
LOG_FILE=${LOG_PATH}sk.log.${LOG_FILE_DATE_PART}*.log
function log() {
echo `date +"%Y-%m-%d %H:%M:%S - "`$1' ' >>${WORK_LOG_FILE}
}
log "clean up log start..."
log "rm -f "$LOG_FILE
rm -f $LOG_FILE 1>>$WORK_LOG_FILE 2>>$WORK_LOG_FILE
log "clean up log end."
2. 生成定时任务
首先生成定时任务的配置文件cron.txt,内容如下:
1 0 * * * sh /home/weblogic/scripts/cleanlog/cleanLog.sh
表示每天0点1分执行脚本cleanLog.sh
然后生成定时任务:crontab cron.txt
注意执行前要通过crontab -l查看,确保原来没有定时任务,否则会覆盖定时任务。
补充说明:
1) 可以通过crontab -l来查看定时的情况。
2) 要删除全部定时任务:crontab -r,但是要慎用。
3) 也可以通过crontab -e来打开任务列表,选中指定的任务进行删除。
4) 如果定时任务不执行或者执行出错,可以通过root用户来查看定时任务的执行日志:
tail-200f /var/log/cron
5) 为了方便调试,可以把定时任务设成分钟执行一次:*/1 * * * *
3. 创建日志目录和查看执行日志
脚本有记录日志清理的情况,需要在工作目录下创建一个log目录:
cd /home/weblogic/scripts/cleanlog
mkdir log
然后可以通过以下命令来查看日志清理的情况:
tail -200f cleanup.log
4. 如果是集群,复制相关文件到其他服务器并启动定时任务
复制相关文件可以从当前服务器通过scp命令进行复制:
scp -r scripts/ 用户名@目标服务器地址:~/scripts
注:命令中~表示用户的主目录,也可以使用绝对路径进行。
shell命令删除昨日的日志_linux定时自动清理日志文件相关推荐
- gentos 执行sh文件_linux定时自动清理日志文件
现有一个应用系统,应用日志记录的内容很多,经常造成存储空间不够,需要手工去删除早期的日志文件来释放空间.应用的日志文件命名如下,固定前后缀加上日期和小时: 为了避免手工删除日志,考虑通过写shell脚 ...
- elasticsearch服务器定时自动清理日志索引
突然想到项目中每天要生产各个环境的索引...时间一长会越来越多. 这里写一个定时自动清理elasticsearch的脚本 首先.我们进入到elasticsearch的索引目录中去 发现索引数据是真 ...
- oracle导入命令,记录一下 数据库日志太大,清理日志文件
oracle导入命令,记录一下 工作中用到了,这个命令,记录一下,前提要安装imp.exe imp PECARD_HN/PECARD_HN@127.0.0.1:1521/orcl file=E:\wo ...
- linux系统中实现自动清理日志
1.定时调度工具crontab相关的rpm下载 链接:https://pan.baidu.com/s/1GBQ0_KZ9i48CjcCi978fEQ 提取码:58e4 2.若没有crontab的需要 ...
- linux系统自动清理日志实现脚本
1.删除文件命令:find 对应目录 命令选项 实例命令 find /export/Logs/ -type f -name "*log*" -mtime +3 -exec rm ...
- zookeeper3.4.6配置实现自动清理日志【转】
在使用zookeeper过程中,我们知道,会有dataDir和dataLogDir两个目录,分别用于snapshot和事务日志的输出(默认情况下只有dataDir目录,snapshot和事务日志都保存 ...
- shell实例第23讲:每天定时备份nginx日志
每天定时备份nginx日志 要求 每天凌晨3点开始备份nginx日志 一.编写日志切割脚本 #!/bin/bashLOG_DIR=/usr/local/webserver/nginx/logs/YES ...
- centos7当数据盘到达百分之80%后自动清理日志的shell脚本
思路简单 首先编写一个shell脚本,然后用crontab定时任务每天执行一遍cat logs.sh #!/bin/bash disk=$(df -H | grep '/dev/vda1' | awk ...
- zookeeper3.4.6配置实现自动清理日志
在使用zookeeper过程中,我们知道,会有dataDir和dataLogDir两个目录,分别用于snapshot和事务日志的输出(默认情况下只有dataDir目录,snapshot和事务日志都保存 ...
最新文章
- Oracle RAC 添加删除节点
- 光纤以太网交换机产品性能介绍
- risc系统服务器,精简的高端 解析四大RISC服务器处理器
- 安卓蓝牙键盘切换输入法_Windows10添加中文美式键盘,传统语言栏,采用ctrl+shift切换输入法...
- cadence 介绍
- php获取input file路径,input上传文件获取路径为C:\fakepath\文件名
- oracle全量拷贝,oracle数据库expdp异机全量备份
- 中国oracle ace名单
- 计算机技术毕业生个人简历,计算机技术毕业生个人简历模板
- 立方体图片的在线绘制与制作
- 青你3倒奶,蒙牛装小白花?
- LSwarm:复杂城市场景下覆盖受限的大集群高效避碰(Swarm-2019)
- 大二综合项目:数据库Mysql,Navicat
- win10卸载电脑管家就蓝屏_Win10电脑蓝屏原因排查及解决方案
- Rust中,*const T和*mut T的区别是什么?
- 如何画好素描?画好素描绘画有哪些技巧?
- 远程服务器多用户登录,Win2008 R2远程桌面多用户登陆的配置方法
- 逆势:衰退的开发者信心和不断示好的开发环境
- 试题 算法训练 无聊的逗
- oracle oaf界面个性化,OAF个性化开发实例(转)