在 Ubuntu 上备份 PHP-FPM 主要分几类内容:配置文件备份、网站与代码备份、运行日志备份、以及可能的池(pool)配置。下面给你一套实战可用的备份方案。
PHP-FPM 的配置通常在:
/etc/php/
以 PHP 8.1 为例:
/etc/php/8.1/
├── cli
├── fpm
│ ├── php-fpm.conf
│ ├── php.ini
│ └── pool.d/
sudo tar czf php-fpm-backup-$(date +%F).tar.gz /etc/php
示例:
php-fpm-backup-2026-01-15.tar.gz
sudo tar czf php-fpm-conf-$(date +%F).tar.gz /etc/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)
日志位置通常在:
/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
sudo cp /lib/systemd/system/php*-fpm.service /backup/
重载服务不受损,但配置可恢复。
编辑定时任务:
sudo crontab -e
每天凌晨 2 点备份:
0 2 * * * tar czf /backup/php-fpm-$(date +\%F).tar.gz /etc/php /var/www
停止 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 做增量备份
如果你愿意,可以告诉我:
我可以直接给你一键备份脚本。