跳至主要內容

日志

chanchaw大约 2 分钟linuxcentos

系统日志journal

# 查看占用磁盘量
journalctl --disk-usage

# 只保留两天的日志,执行后会删除超过两天的日志
journalctl --vacuum-time=2d

# 允许的最大容量, 设置日志文件最大不可超过200M,超过时就被删除
journalctl --vacuum-size=200M

# 检查 journal 是否正常,执行下面命令检查 journal 是否正常运行,是否完整没有损坏
journalctl --verify

切割nginx日志

制作名称为 nginxLogSplitter.sh 的可执行文件,代码如下:

# nginx 默认的访问日志文件
LOGPATH=/usr/local/nginx/logs/access.log
# 将切割后的文件保存在子目录 daylogs 下
BASEPATH=/usr/local/nginx/logs/daylogs
# 带有日期时间的日志文件
bak=$BASEPATH/$(date -d today +%Y%m%d%H%M).access.log
# 重名日志文件
mv $LOGPATH $bak
touch $LOGPATH
# 向nginx主进程发送信号,重新写日志
/usr/local/nginx/sbin/nginx -s reopen

使用命令 crontab -e 制作定时任务 ,追加下面的代码

1 0 * * * sh /usr/local/crontabTask/nginxLogSplitter.sh

表示每天凌晨0点1分执行一次批处理文件

定时任务删除日志文件

清除日志

将下面内容黏贴到文件 delWxLog.sh 文件中

#!/bin/sh
find /sbJarLogs/wxbe/ -name "*.tmp" -type f -mtime +3 -delete;
find /sbJarLogs/wxbe/ -name "*.zip" -type f -mtime +3 -delete;

-mtime +5 表示按照文件修改时间计算,+5表示5天前的文件为符合条件的文件(-5表示5天以内的文件)(即将被删除) -ctime 表示按照文件的创建时间计算 -name "*.tmp" 表示删除指定后缀的文件 然后通过命令设置为可执行文件 chmod +x delWxLog.sh

设置定时任务

通过命令 crontab -e 打开定时任务配置文件,在最后追加下面代码

36 8 * * * bash /usr/local/crontabTask/delWxbeLog.sh

表示每天8点36分执行文件

安装定时任务软件

通过代码 rpm -qa | grep crontab 检查定时任务软件是否已经安装,如果没有安装则使用命令 yum install -y crontabs 进行安装 crontab 命令

service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态