1. 确定PHP配置文件及目录位置
在CentOS系统中,PHP的核心配置文件通常为php.ini
,其路径可通过php --ini
命令获取(输出中“Loaded Configuration File”一行即为路径,常见为/etc/php.ini
)。若使用PHP-FPM,还需备份php-fpm.conf
(通常位于/etc/php-fpm.conf
)及www.conf
(位于/etc/php-fpm.d/www.conf
,为常用worker配置文件)。此外,PHP扩展或自定义配置文件多存放在/etc/php.d/
目录下(以.ini
为后缀)。
2. 手动备份单个配置文件
使用cp
命令复制目标文件至备份目录(如/etc/php_backup/
,需提前创建),命名时添加.bak
或时间戳以区分版本。示例如下:
# 创建备份目录(若不存在)
sudo mkdir -p /etc/php_backup
# 备份php.ini
sudo cp /etc/php.ini /etc/php_backup/php.ini.bak
# 备份PHP-FPM主配置文件(若存在)
sudo cp /etc/php-fpm.conf /etc/php_backup/php-fpm.conf.bak
# 备份PHP-FPM worker配置文件(www.conf为例)
sudo cp /etc/php-fpm.d/www.conf /etc/php_backup/www.conf.bak
# 备份/etc/php.d/目录下所有.ini文件
sudo cp -r /etc/php.d/ /etc/php_backup/php.d.bak
3. 使用tar打包备份(可选但推荐)
为节省存储空间及便于传输,可将备份文件打包为.tar.gz
格式。示例如下:
# 进入备份目录父级目录
cd /etc/
# 打包备份目录(排除原目录,仅打包内容)
sudo tar -czvf php_backup.tar.gz -C /etc/php_backup/ .
# 将备份文件转移至安全位置(如外部存储或远程服务器)
sudo cp php_backup.tar.gz /mnt/external_storage/ # 外部存储示例
# 或使用scp上传至远程服务器
sudo scp php_backup.tar.gz user@remote_host:/path/to/backup/
4. 自动化定期备份(可选)
通过cron
作业实现每日自动备份,避免手动操作遗漏。步骤如下:
/usr/local/bin/backup_php.sh
):#!/bin/bash
# 定义备份目录及文件名(含日期戳)
BACKUP_DIR="/etc/php_backup"
BACKUP_FILE="/mnt/external_storage/php_backup_$(date +%Y%m%d_%H%M%S).tar.gz"
# 创建备份目录(若不存在)
sudo mkdir -p "$BACKUP_DIR"
# 备份所有必要文件及目录
sudo cp /etc/php.ini "$BACKUP_DIR/php.ini.bak"
sudo cp /etc/php-fpm.conf "$BACKUP_DIR/php-fpm.conf.bak" 2>/dev/null # 忽略不存在的文件错误
sudo cp /etc/php-fpm.d/www.conf "$BACKUP_DIR/www.conf.bak" 2>/dev/null
sudo cp -r /etc/php.d/ "$BACKUP_DIR/php.d.bak"
# 打包备份文件
sudo tar -czvf "$BACKUP_FILE" -C "$BACKUP_DIR" .
# 删除临时备份目录(保留压缩包)
sudo rm -rf "$BACKUP_DIR"
sudo chmod +x /usr/local/bin/backup_php.sh
sudo crontab -e
,在文件末尾添加以下行(每日凌晨2点执行):0 2 * * * /usr/local/bin/backup_php.sh
注意事项