MySQL、Oracle、PostgreSQL 数据库备份用的 Shell 脚本
以下是针对 MySQL、Oracle 和 PostgreSQL 数据库的备份 Shell 脚本示例。请注意,这些脚本仅供参考,实际使用时需要根据您的环境进行相应的调整。
MySQL 数据库备份:
#!/bin/bash
# MySQL 数据库备份脚本
# 数据库配置
DB_USER="your_username"
DB_PASSWORD="your_password"
DB_NAME="your_dbname"
BACKUP_DIR="/path/to/your/backup/directory"
# 创建备份文件名
TIMESTAMP=$(date +"%F")
BACKUP_FILE="${BACKUP_DIR}/${DB_NAME}-${TIMESTAMP}.sql"
# 备份数据库
mysqldump -u ${DB_USER} -p${DB_PASSWORD} ${DB_NAME} > ${BACKUP_FILE}
# 压缩备份文件(可选)
gzip ${BACKUP_FILE}
Oracle 数据库备份(需要安装 RMAN 工具):
#!/bin/bash
# Oracle 数据库备份脚本
# 数据库配置
ORACLE_SID="your_oracle_sid"
BACKUP_DIR="/path/to/your/backup/directory"
# 设置环境变量
export ORACLE_HOME=/path/to/your/oracle/home
export PATH=$PATH:$ORACLE_HOME/bin
# 执行备份
rman target / <<EOF
run {
allocate channel c1 type disk;
backup database format '${BACKUP_DIR}/%d_%T_%U';
release channel c1;
}
exit;
EOF
PostgreSQL 数据库备份:
#!/bin/bash
# PostgreSQL 数据库备份脚本
# 数据库配置
DB_USER="your_username"
DB_NAME="your_dbname"
BACKUP_DIR="/path/to/your/backup/directory"
# 创建备份文件名
TIMESTAMP=$(date +"%F")
BACKUP_FILE="${BACKUP_DIR}/${DB_NAME}-${TIMESTAMP}.sql"
# 备份数据库
pg_dump -U ${DB_USER} ${DB_NAME} > ${BACKUP_FILE}
# 压缩备份文件(可选)
gzip ${BACKUP_FILE}
请确保这些脚本具有执行权限,并根据您的实际情况调整数据库的用户名、密码、数据库名称以及备份目录。同时,确保对于 Oracle 的备份脚本,已经正确设置了 ORACLE\_HOME 和 PATH 环境变量,并且安装了 RMAN 工具。
评论已关闭