在 Ubuntu 上备份 PHP 相关内容,通常分为 备份 PHP 代码、配置文件、依赖和数据库。下面按常见场景给你一套实用方案。
假设你的站点在 /var/www/html:
# 打包整个网站目录
tar -czvf /backup/php_site_$(date +%F).tar.gz /var/www/html
恢复:
tar -xzvf php_site_2026-01-21.tar.gz -C /
PHP 配置一般在:
/etc/php//etc/php/8.1/(版本不同路径不同)tar -czvf /backup/php_config_$(date +%F).tar.gz /etc/php
如果有 composer.json 和 vendor:
cd /var/www/html
composer install --no-dev --optimize-autoloader
建议备份:
tar -czvf /backup/php_vendor_$(date +%F).tar.gz vendor composer.json composer.lock
mysqldump -u root -p database_name > /backup/db_$(date +%F).sql
压缩备份:
mysqldump -u root -p database_name | gzip > /backup/db_$(date +%F).sql.gz
编辑定时任务:
crontab -e
每天凌晨 2 点备份:
0 2 * * * tar -czvf /backup/php_site_$(date +\%F).tar.gz /var/www/html
0 2 * * * mysqldump -u root -p密码 dbname | gzip > /backup/db_$(date +\%F).sql.gz
rsync -avz /var/www/html user@backup-server:/backup/
#!/bin/bash
DATE=$(date +%F)
BACKUP_DIR=/backup
tar -czvf $BACKUP_DIR/php_site_$DATE.tar.gz /var/www/html
tar -czvf $BACKUP_DIR/php_config_$DATE.tar.gz /etc/php
mysqldump -u root -p密码 dbname | gzip > $BACKUP_DIR/db_$DATE.sql.gz
如果你能说明:
我可以给你更精准的备份方案。