如果mysql不在环境变量中,请先将mysql放入环境变量
#将mysql添加进环境变量中
export PATH=$PATH:/usr/local/mysql/bin/
#重新加载配置文件
source /etc/profile
新建一个脚本
touch backup_all_databases.sh
脚本内容:
#!/bin/bash
# MySQL登录信息
USER="root"
PASSWORD="123456"
# 备份目录
BACKUP_DIR="/home/mysqlbak/$(date +%Y%m%d)"
# 创建备份目录
mkdir -p "$BACKUP_DIR"
# 获取所有数据库名
DATABASES=$(mysql -u"$USER" -p"$PASSWORD" -Nse 'show databases')
# 遍历所有数据库进行备份
for DB in $DATABASES; do
# 跳过系统数据库
if [[ "$DB" == "information_schema" || "$DB" == "mysql" || "$DB" == "performance_schema" || "$DB" == "sys" ]]; then
continue
fi
# 生成备份文件名
BACKUP_FILE="$BACKUP_DIR/${DB}_$(date +%Y%m%d%H%M%S).sql"
# 执行mysqldump命令进行备份
mysqldump -u"$USER" -p"$PASSWORD" "$DB" > "$BACKUP_FILE"
# 检查备份是否成功
if [ $? -eq 0 ]; then
echo "Database $DB backed up to $BACKUP_FILE"
else
echo "Error backing up database $DB"
fi
done
echo "All databases backed up to $BACKUP_DIR"
需要给这个脚本文件执行权限:
chmod +x backup_all_databases.sh
需要给这个脚本文件执行权限:
./backup_all_databases.sh
自动执行
vi /etc/crontab
#每天凌晨1点执行
0 1 * * * bash /home/backup_all_databases.sh
查看crontab服务状态:
service crond status
手动启动crontab服务:
service crond start
查看crontab服务是否已设置为开机启动,执行命令:文章来源:https://www.toymoban.com/news/detail-858881.html
ntsysv
加入开机自动启动:文章来源地址https://www.toymoban.com/news/detail-858881.html
chkconfig –level 35 crond on
到了这里,关于使用脚本定时备份MySql数据库文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!