编写备份脚本的.sh文件,首先需要使用#!/bin/sh指定解释器,然后利用cp命令或rsync命令实现文件或目录的复制。
如何使用一键备份脚本 backup.sh 对LNMP网站进行数据备份
1. 准备工作
在开始使用 backup.sh
脚本之前,请确保您已经安装了以下软件:
Git(用于克隆脚本仓库)
SSH(用于远程登录服务器)
LNMP环境(Linux、Nginx、MySQL、PHP)
2. 下载备份脚本
通过以下命令将 backup.sh
脚本仓库克隆到本地:
git clone https://github.com/yourusername/backup.sh.git
3. 上传脚本到服务器
使用 SCP 或其他工具将 backup.sh
脚本上传到您的服务器。
scp r backup.sh root@yourserverip:/root/backup.sh
4. 修改脚本权限
登录到您的服务器,然后进入 backup.sh
目录:
ssh root@yourserverip cd /root/backup.sh
修改 backup.sh
脚本的权限,使其可执行:
chmod +x backup.sh
5. 配置备份参数
编辑 backup.sh
文件,设置以下参数:
BACKUP_PATH
:备份文件存储路径
MYSQL_USER
:MySQL用户名
MYSQL_PASSWORD
:MySQL密码
MYSQL_HOST
:MySQL主机地址
MYSQL_PORT
:MySQL端口号
NGINX_CONF
:Nginx配置文件路径
PHP_FPM_CONF
:PHPFPM配置文件路径
EXCLUDE_DIRS
:需要排除的目录列表
BACKUP_PATH="/root/backup" MYSQL_USER="your_mysql_user" MYSQL_PASSWORD="your_mysql_password" MYSQL_HOST="localhost" MYSQL_PORT="3306" NGINX_CONF="/etc/nginx/nginx.conf" PHP_FPM_CONF="/etc/phpfpm.d/www.conf" EXCLUDE_DIRS="node_modules,.git,.idea"
6. 运行备份脚本
在服务器上运行 backup.sh
脚本进行备份:
./backup.sh
脚本将在 BACKUP_PATH
指定的目录下生成一个压缩包,包含您的网站文件和数据库备份。
7. 定时任务
为了实现自动备份,可以将 backup.sh
脚本添加到服务器的定时任务(Crontab)中,每天凌晨 2 点执行备份:
crontab e 0 2 * * * /root/backup.sh/backup.sh >> /root/backup.log 2>&1
相关问题与解答
Q1:如何恢复备份的数据?
A1:解压备份的压缩包,将解压后的文件覆盖到您的网站目录,对于数据库备份,可以使用 MySQL 命令行工具导入 SQL 文件。
Q2:如何将备份文件下载到本地?
A2:使用 SCP 或其他工具将服务器上的备份文件下载到本地。
scp root@yourserverip:/root/backup/your_backup_file.tar.gz ./local_backup/
评论(0)