温馨提示×

怎样备份ubuntu php日志

小樊
37
2026-10-06 10:38:38
栏目: 编程语言

在 Ubuntu 上备份 PHP 日志,通常取决于你使用的 PHP 运行方式(PHP-FPM / Apache mod_php / CLI) 以及 日志位置。下面按常见情况说明。


一、先确认 PHP 日志在哪里

1. PHP-FPM(最常见,Nginx + PHP)

日志一般在:

/var/log/php*/fpm.log
/var/log/php*/php-fpm.log

例如:

/var/log/php8.1-fpm.log

2. Apache + PHP(mod_php)

PHP 错误通常写入 Apache 错误日志:

/var/log/apache2/error.log

3. PHP 自身 error_log

查看 php.ini:

php --ini

常见位置:

/var/log/php_errors.log
/etc/php/*/fpm/php.ini

查找配置:

grep error_log /etc/php/*/*/php.ini

二、手动备份 PHP 日志

示例(PHP-FPM)

sudo cp /var/log/php8.1-fpm.log /backup/php8.1-fpm-$(date +%F).log

示例(Apache)

sudo cp /var/log/apache2/error.log /backup/apache-error-$(date +%F).log

三、使用 tar 打包备份(推荐)

sudo tar czf /backup/php-logs-$(date +%F).tar.gz /var/log/php* /var/log/apache2

四、自动定时备份(cron)

1. 创建备份脚本

sudo nano /usr/local/bin/backup_php_logs.sh

内容示例:

#!/bin/bash
DATE=$(date +%F)
mkdir -p /backup
tar czf /backup/php-logs-$DATE.tar.gz /var/log/php* /var/log/apache2

赋予权限:

sudo chmod +x /usr/local/bin/backup_php_logs.sh

2. 加入 cron

sudo crontab -e

每日凌晨 2 点:

0 2 * * * /usr/local/bin/backup_php_logs.sh

五、使用 logrotate(系统级,推荐)

Ubuntu 默认就有 logrotate,可让它自动轮转并保留历史日志。

查看配置:

/etc/logrotate.d/php*
/etc/logrotate.d/apache2

示例(自定义 PHP 日志):

sudo nano /etc/logrotate.d/php-custom

内容:

/var/log/php_errors.log {
    daily
    missingok
    rotate 14
    compress
    delaycompress
    notifempty
    create 0640 www-data adm
}

测试:

sudo logrotate -d /etc/logrotate.d/php-custom

六、备份到远程(可选)

rsync -avz /backup/ user@remote:/remote/backup/

七、常见建议

✅ 不要直接删除原日志
✅ 保留 7–30 天日志
✅ 生产环境优先用 logrotate
✅ 备份前确保日志已轮转


如果你能告诉我:

  • Ubuntu 版本
  • PHP 版本
  • Web 服务(Nginx / Apache)

我可以给你更精确的备份方案。

0 踩