在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
腳本,將日志文件分割成多個較小的文件。