BASH: 备份MySQL数据库并通过FTP发送到远程服务器
创始人
2024-11-25 15:31:03
0次

以下是一个使用BASH脚本备份MySQL数据库并通过FTP发送到远程服务器的示例代码:

#!/bin/bash

# MySQL数据库的相关信息
DB_HOST="localhost"
DB_USER="username"
DB_PASS="password"
DB_NAME="database"

# 备份文件的保存路径和名称
BACKUP_DIR="/path/to/backup/directory"
BACKUP_NAME="backup_$(date +%Y%m%d_%H%M%S).sql"

# FTP服务器的相关信息
FTP_HOST="ftp.example.com"
FTP_USER="ftp_username"
FTP_PASS="ftp_password"
FTP_DIR="/remote/directory"

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

# 使用mysqldump命令备份MySQL数据库到指定路径
mysqldump -h $DB_HOST -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/$BACKUP_NAME

# 检查备份是否成功
if [[ $? -eq 0 ]]; then
  echo "MySQL备份成功"
else
  echo "MySQL备份失败"
  exit 1
fi

# 使用ftp命令将备份文件上传到远程服务器
ftp -inv $FTP_HOST << EOF
user $FTP_USER $FTP_PASS
cd $FTP_DIR
put $BACKUP_DIR/$BACKUP_NAME
bye
EOF

# 检查上传是否成功
if [[ $? -eq 0 ]]; then
  echo "备份文件上传成功"
else
  echo "备份文件上传失败"
  exit 1
fi

# 删除本地备份文件
rm $BACKUP_DIR/$BACKUP_NAME

echo "备份完成"

请根据实际情况修改脚本中的数据库信息、备份路径、FTP服务器信息等。保存脚本到一个文件(例如backup.sh),然后给予执行权限并运行脚本即可完成备份和上传操作。

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...