在 Debian 上备份 LAMP(Linux + Apache + MySQL/MariaDB + PHP) 环境,通常要备份三部分:网站文件、数据库、配置文件。下面按「手动备份」和「自动备份」两种方式来说明。
建议以 root 或具有 sudo 权限的用户操作。
常见目录:
/var/www//etc/apache2//etc/php/mysqldump 导出(不要直接拷 /var/lib/mysql)sudo tar -czvf /backup/www-backup-$(date +%F).tar.gz /var/www
sudo tar -czvf /backup/apache-php-config-$(date +%F).tar.gz /etc/apache2 /etc/php
sudo mysqldump -u root -p --all-databases > /backup/mysql-all-$(date +%F).sql
或单个数据库:
mysqldump -u user -p dbname > dbname.sql
创建脚本 /root/backup_lamp.sh:
#!/bin/bash
BACKUP_DIR=/backup
DATE=$(date +%F)
mkdir -p $BACKUP_DIR
# 网站
tar -czf $BACKUP_DIR/www-$DATE.tar.gz /var/www
# 配置
tar -czf $BACKUP_DIR/config-$DATE.tar.gz /etc/apache2 /etc/php
# 数据库
mysqldump -u root -p'密码' --all-databases > $BACKUP_DIR/mysql-$DATE.sql
echo "Backup completed: $DATE"
赋权并执行:
chmod +x /root/backup_lamp.sh
/root/backup_lamp.sh
编辑定时任务:
crontab -e
每天凌晨 2 点备份:
0 2 * * * /root/backup_lamp.sh
可结合 rsync 或 scp:
rsync -avz /backup/ user@remote:/remote/backup/
/var/www/etc/apache2、/etc/phpmysql -u root -p < mysql-xxx.sql
如果你愿意,我可以:
你目前是 MySQL 还是 MariaDB?网站多吗?