bash#!/bin/bash
set -e
name="数据库备份_$(date +%Y-%m-%d_%H-%M-%S).sql"
bendi=/var/backups/mysql
yuancheng=192.168.236.30::backup
user=root
password='MySQL@329958'
sql_host=localhost
if [ ! -d "$bendi" ]; then
mkdir -p "$bendi"
echo "备份文件夹 $bendi 不存在,已创建该文件夹。"
fi
bak(){
echo "MySQL bakcup begin at `date`"
echo "执行MySQLdump,备份文件路径为/var/backups/mysql/$name"
mysqldump -hlocalhost -uroot -pMySQL@329958 a >/var/backups/mysql/$name
echo "远程拷贝到192.168.236.30::backup$name"
rsync -az $bendi$name.$d1 $yuancheng/$name
echo "MySQL backup end at `date`"
}
bak >>${bendi}/mysqldump日志.log 2>>${bendi}/rsync日志.err
echo $("备份成功")
set +e
bashname="数据库备份_$(date +%Y-%m-%d_%H-%M-%S).sql" # 定义备份文件名,包含当前时间
bendi=/var/backups/mysql # 定义本地备份路径
yuancheng=192.168.236.30::backup # 定义远程备份路径
user=root # 定义MySQL用户名
password='MySQL@329958' # 定义MySQL密码
sql_host=localhost # 定义MySQL主机地址
bashif [!-d "$bendi"]; then
mkdir -p "$bendi"
echo "备份文件夹 $bendi 不存在,已创建该文件夹。"
fi
echo "备份文件夹 $bendi 不存在,已创建该文件夹。"
fi
bashbak(){
echo "MySQL bakcup begin at date" # 输出备份开始时间
echo "执行MySQLdump,备份文件路径为/var/backups/mysql/$name"
bashmysqldump -hlocalhost -uroot -pMySQL@329958 a >/var/backups/mysql/name echo "
bash192.168.236.30::backupname
bashrsync -az $bendi$name.$d1 $yuancheng/$name
echo "MySQL backup end at date" # 输出备份结束时间
}
bashbak >>{bendi}/mysqldump日志.log 2>>{bendi}/rsync日志.err
bashecho $("备份成功")
bashset +e
set -e
表示一旦执行命令出现错误,就立即退出脚本,这是一种错误退
出模式。name="数据库备份_$(date +%Y-%m-%d_%H-%M-%S).sql"
定义备份文件
名,包含当前时间,以便于区分备份文件。bendi=/var/backups/mysql
定义本地备份路径,即备份文件保存的路
径。yuancheng=192.168.236.30::backup
定义远程备份路径,即备份文件同
步到远程服务器的路径。user=root
定义MySQL用户名。password='MySQL@329958'
定义MySQL密码。sql_host=localhost
定义MySQL主机地址。[ ! -d "$bendi" ]
判断本地备份路径是否存在,如果不存在则创建该路
径。bak()
是一个备份函数,主要功能是使用 mysqldump
命令备份MySQL
数据库,并使用 rsync
命令将备份文件同步到远程服务器上。bak >>${bendi}/mysqldump日志.log 2>>${bendi}/rsync日志.err
执行备
份函数,并将输出结果分别保存到日志文件和错误文件中。echo "备份成功"
输出备份成功信息。set +e
关闭错误退出模式,这是为了避免在脚本执行过程中出现错误而
导致整个脚本退出。本文作者:Casear
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!