温馨提示×

centos lamp怎样实现自动备份

小樊
50
2026-01-04 07:32:09
栏目: 智能运维

在CentOS上实现LAMP(Linux, Apache, MySQL, PHP)环境的自动备份,可以通过编写Shell脚本来完成。以下是一个简单的示例,用于自动备份MySQL数据库和Apache的网站文件。

  1. 首先,确保已经安装了mysqldump工具,用于备份MySQL数据库。如果没有安装,请运行以下命令安装:
sudo yum install mysql
  1. 创建一个名为backup.sh的Shell脚本文件:
sudo nano /usr/local/bin/backup.sh
  1. 将以下内容粘贴到backup.sh文件中,并根据实际情况修改数据库名、用户名、密码以及备份文件的存储路径:
#!/bin/bash

# 设置备份目录
BACKUP_DIR="/path/to/your/backup/directory"

# 设置日期格式
DATE=$(date +"%Y%m%d")

# 设置数据库信息
DB_USER="your_db_user"
DB_PASSWORD="your_db_password"
DB_NAME="your_db_name"

# 设置备份文件名
DB_BACKUP_NAME="db_backup_$DATE.sql"

# 备份数据库
mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_DIR/$DB_BACKUP_NAME

# 设置Apache网站文件备份目录
APACHE_BACKUP_DIR="$BACKUP_DIR/apache_backup"

# 备份Apache网站文件
tar -czvf $APACHE_BACKUP_DIR/apache_backup_$DATE.tar.gz /var/www/html

# 删除7天前的备份文件
find $BACKUP_DIR -type d -mtime +7 -exec rm -rf {} \;
  1. 保存并退出编辑器。

  2. backup.sh脚本添加可执行权限:

sudo chmod +x /usr/local/bin/backup.sh
  1. 使用crontab设置定时任务。运行以下命令打开当前用户的crontab配置文件:
crontab -e
  1. 在文件末尾添加以下行,设置每天凌晨1点执行备份脚本:
0 1 * * * /usr/local/bin/backup.sh
  1. 保存并退出编辑器。

现在,LAMP环境将每天自动备份MySQL数据库和Apache网站文件,并将备份文件存储在指定的目录中。同时,7天前的备份文件将被自动删除。

0