在Ubuntu上配置PHP日志分割,可以通过设置cron任务和编写一个简单的shell脚本来实现。以下是详细步骤:
split_php_logs.sh的文件:nano /usr/local/bin/split_php_logs.sh
split_php_logs.sh文件中,然后保存并关闭文件:#!/bin/bash
# 设置日志文件路径和分割后的文件名前缀
log_file="/var/log/apache2/access.log"
output_file_prefix="/var/log/apache2/access_log_"
# 获取当前日期
current_date=$(date +"%Y-%m-%d")
# 分割日志文件
if [ -f "$log_file" ]; then
# 如果日志文件存在,使用split命令分割日志文件
split -l 10000 -d --numeric-suffixes=1 --additional-suffix=".log" "$log_file" "${output_file_prefix}${current_date}_"
else
echo "Log file not found: $log_file"
fi
这个脚本会将/var/log/apache2/access.log文件分割成每天一个新文件,每个文件包含10000行日志。你可以根据需要修改log_file变量和split命令的参数。
sudo chmod +x /usr/local/bin/split_php_logs.sh
sudo crontab -e
0 0 * * * /usr/local/bin/split_php_logs.sh
这将在每天午夜运行split_php_logs.sh脚本。你可以根据需要调整cron任务的时间设置。
split_php_logs.sh脚本,将日志文件分割成多个较小的文件。