linux

Linux服务器上Laravel如何备份

小樊
40
2025-06-01 00:08:39
栏目: 云计算

在Linux服务器上备份Laravel项目,你需要考虑以下几个方面:

  1. 备份项目文件
  2. 备份数据库
  3. 备份存储目录(如果有的话)

以下是一个简单的备份脚本示例,你可以根据自己的需求进行修改:

#!/bin/bash

# 设置备份目录
BACKUP_DIR="/path/to/your/backup/directory"
DATE=$(date +"%Y%m%d%H%M%S")
BACKUP_FILE="$BACKUP_DIR/laravel_backup_$DATE.tar.gz"

# 设置项目根目录和数据库信息
PROJECT_ROOT="/path/to/your/laravel/project"
DB_HOST="localhost"
DB_USER="your_db_user"
DB_PASSWORD="your_db_password"
DB_NAME="your_db_name"

# 创建备份目录(如果不存在)
mkdir -p $BACKUP_DIR

# 备份项目文件
tar -czvf $BACKUP_FILE $PROJECT_ROOT

# 备份数据库
mysqldump -h $DB_HOST -u $DB_USER -p$DB_PASSWORD $DB_NAME | gzip > $BACKUP_DIR/db_backup_$DATE.sql.gz

# 删除超过30天的备份文件
find $BACKUP_DIR -type f -name "*.sql.gz" -mtime +30 -exec rm {} \;
find $BACKUP_DIR -type f -name "*.tar.gz" -mtime +30 -exec rm {} \;

echo "Backup completed successfully!"

将此脚本保存为backup_laravel.sh,并确保它具有可执行权限(使用chmod +x backup_laravel.sh)。在运行此脚本之前,请确保已正确设置BACKUP_DIRPROJECT_ROOTDB_HOSTDB_USERDB_PASSWORDDB_NAME变量。

你可以将此脚本添加到cron作业中,以便定期自动执行备份。例如,每天凌晨1点执行备份:

0 1 * * * /path/to/your/backup_laravel.sh

将此行添加到crontab文件中(使用crontab -e命令),或者创建一个新的单独的cron文件(例如/etc/cron.daily/backup_laravel),并在其中添加此行。

0
看了该问题的人还看了