日志快把服务器磁盘占满了?日志的shell定时清除(一)
发布时间:2022-11-29 10:44:09 所属栏目:Linux 来源:
导读: 最近两天突然感觉服务器容量快满了,果不其然。[衰]
其中有两台服务器、磁盘占用量比例很高。
下面分析大神的脚本。并运行起来,再也不用担心服务器的硬盘被日志占满了。
基本思路是,定
其中有两台服务器、磁盘占用量比例很高。
下面分析大神的脚本。并运行起来,再也不用担心服务器的硬盘被日志占满了。
基本思路是,定
|
最近两天突然感觉服务器容量快满了,果不其然。[衰] 其中有两台服务器、磁盘占用量比例很高。 下面分析大神的脚本。并运行起来,再也不用担心服务器的硬盘被日志占满了。 基本思路是,定时运行可以清除以前某个时间日志的脚本。 项目背景 需要掌握熟悉shell,crontab 日志目录:/www/logs/php 文件名词要求:前缀固定+日期(phplog-2020-10-27.log) 应用程序每天自动创建日志文件 脚本的第一步先得到要删除时间day1日期格式,然后再到日志目录删除日志文件。 # 获取时间 #date 显示当前日期 格式为 %Y-%m-%d [root@zjt-baidu logrotate]# date +%Y-%m-%d 2020-10-28 #date -d -d、 --date=字符串显示由字符串描述的时间,而不是“now” [root@zjt-baidu logrotate]# date -d "-1 day" +%Y-%m-%d 2020-10-27 [root@zjt-baidu logrotate]# day=`date -d "-1 day" +%Y-%m-%d` [root@zjt-baidu logrotate]# echo $day 2020-10-27 #进入目录 # cd /www/log/php # 删除文件 rm /www/log/php/phplog-2020-10-26.log #添加 -f 选项 强制删除,不进行交互 rm /www/log/php/phplog-2020-10-26.log 得到下面的clearLog.sh文件的内容 第3行和第4行 调试用,为了保证不误操作,一定先打印出文件名,确认无误后再打开注释, 然后执行。不然删除错误就完蛋了。[黑脸] #/bin/bash LOGDIR='/www/logs/php' DAY=`date -d "-1 day" +%Y-%m-%d` echo $DAY cd $LOGDIR echo $LOGDIR/phplog-${DAY}.log #rm -f $LOGDIR/phplog-${DAY}.log 但上面的shell要求满足应用程序每天可以自动创建新文件。 兼容不能创建新文件的需求 DATE=`date -d '1 days ago' "+%Y-%m-%d"` #不带日期的日志文件 拷贝 为带日期的日志文件 cp /www/logs/phplog.log /www/logs/phplog-$DATE.log >/www/logs/phplog.log chown -r www:www /www/logs/phplog.log 最终的清理日志文件linux 强制删除,保留15天 #/bin/bash LOGDIR='/www/logs/php' DAY=`date -d "-15 day" +%Y-%m-%d` echo $DAY cd $LOGDIR echo $LOGDIR/phplog-${DAY}.log DATE=`date -d '1 days ago' "+%Y-%m-%d"` #不带日期的日志文件 拷贝 为带日期的日志文件 cp /www/logs/phplog.log /www/logs/phplog-$DATE.log >/www/logs/phplog.log #修改权限 chown -R www:www /www/logs/phplog.log rm -f $LOGDIR/phplog-${DAY}.log 如果本文对你有帮助,请转发,说不定你的朋友也需要它。 (编辑:百客网 - 百科网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐

