温馨提示×

ubuntu php-fpm如何备份

小樊
42
2026-09-25 16:26:58
栏目: 编程语言

在 Ubuntu 上备份 PHP-FPM 主要分几类内容:配置文件备份、网站与代码备份、运行日志备份、以及可能的池(pool)配置。下面给你一套实战可用的备份方案。


一、备份 PHP-FPM 配置文件(最重要)

PHP-FPM 的配置通常在:

/etc/php/

以 PHP 8.1 为例:

/etc/php/8.1/
├── cli
├── fpm
│   ├── php-fpm.conf
│   ├── php.ini
│   └── pool.d/

1️⃣ 备份整个 PHP-FPM 配置

sudo tar czf php-fpm-backup-$(date +%F).tar.gz /etc/php

示例:

php-fpm-backup-2026-01-15.tar.gz

2️⃣ 只备份 FPM 部分(推荐)

sudo tar czf php-fpm-conf-$(date +%F).tar.gz /etc/php/*/fpm

二、备份 PHP-FPM 池配置(网站隔离关键)

每个站点通常一个 pool:

/etc/php/8.1/fpm/pool.d/www.conf
/etc/php/8.1/fpm/pool.d/site1.conf

单独备份:

sudo cp -r /etc/php/8.1/fpm/pool.d /backup/php-fpm-pool-$(date +%F)

三、备份 PHP 运行日志(可选但推荐)

日志位置通常在:

/var/log/php-fpm.log
# 或
/var/log/php8.1-fpm.log

查看真实路径:

grep -R "error_log" /etc/php/*/fpm/

备份:

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

四、备份网站代码 & 上传文件(必须)

PHP-FPM 本身不存代码,但网站文件必须一起备:

sudo tar czf www-backup-$(date +%F).tar.gz /var/www

或只备份某个站点:

sudo tar czf site1-backup-$(date +%F).tar.gz /var/www/site1

五、如果用了 systemd(推荐一起备)

sudo cp /lib/systemd/system/php*-fpm.service /backup/

重载服务不受损,但配置可恢复。


六、自动化备份(cron 示例)

编辑定时任务:

sudo crontab -e

每天凌晨 2 点备份:

0 2 * * * tar czf /backup/php-fpm-$(date +\%F).tar.gz /etc/php /var/www

七、恢复 PHP-FPM 备份

停止 PHP-FPM:

sudo systemctl stop php8.1-fpm

恢复配置:

sudo tar xzf php-fpm-backup-2026-01-15.tar.gz -C /

测试配置:

sudo php-fpm8.1 -t

启动:

sudo systemctl start php8.1-fpm

八、进阶建议(生产环境)

✅ 配置放 Git
✅ 使用 rsync 到远程备份服务器
✅ 数据库单独备份(MySQL / PostgreSQL)
✅ 使用 borg / restic 做增量备份


如果你愿意,可以告诉我:

  • PHP 版本(7.4 / 8.1 / 8.2?)
  • 是否用 Nginx / Apache
  • 是否是生产服务器

我可以直接给你一键备份脚本。

0 踩