Centos编写mysql备份脚本

1. 编写 MySQL 备份脚本

创建一个名为 backup.sh 的脚本,定期备份 fuint-food 数据库。

bash 复制代码
#!/bin/bash
# 获取当前时间戳
TIMESTAMP=$(date +"%F-%H%M")
# 备份存储路径
BACKUP_DIR="/path/to/backup/$TIMESTAMP"
# MySQL 相关信息
MYSQL_USER="your_user"
MYSQL_PASSWORD="your_password"
MYSQL_DATABASE="fuint_food"
# 创建备份目录
mkdir -p "$BACKUP_DIR"
# 执行备份
mysqldump --user=$MYSQL_USER --password=$MYSQL_PASSWORD $MYSQL_DATABASE > "$BACKUP_DIR/fuint_food_$TIMESTAMP.sql"
# 打印成功消息
echo "Backup for $MYSQL_DATABASE completed at $TIMESTAMP"

注意: 请将 your_user 和 your_password 替换为你的 MySQL 用户名和密码。

2. 设置脚本定期执行

在 Linux 系统中使用 cron 任务计划

1.打开终端并编辑 cron 任务:

bash 复制代码
crontab -e

添加一行来设置备份频率(例如,每天凌晨 2 点执行):

bash 复制代码
0 2 * * * /path/to/backup.sh
这将会每天凌晨 2 点运行 backup.sh 脚本并备份数据库。

3. 设置脚本开机自启动

你可以将脚本添加到系统的启动项中,确保开机后会自动执行。

1.在 systemd 中添加服务:

创建一个 systemd 服务文件:

bash 复制代码
sudo nano /etc/systemd/system/backup.service

在服务文件中添加以下内容:

bash 复制代码
[Unit]
Description=MySQL Backup Service
After=network.target

[Service]
ExecStart=/path/to/backup.sh
Type=oneshot

[Install]
WantedBy=multi-user.target

2.使该服务在开机时自动启动:

bash 复制代码
sudo systemctl enable backup.service

3.启动服务并检查其状态:

bash 复制代码
sudo systemctl start backup.service
sudo systemctl status backup.service
相关推荐
傲世仙尊43 分钟前
信号量环形队列与线程池起步-把临界资源拆成很多份
linux
Huangjin007_1 小时前
【Linux 系统篇(二十五)】文件(二) 系统文件I/O详解
linux·运维·服务器
ShineWinsu1 小时前
对于ProtoBuffer:ProtoBuffer的介绍以及安装
linux·网络·google·协议·序列化·反序列化·protobuffer
FlightYe2 小时前
视界原理之2D视频(二):视频文件里有什么
android·linux·网络·c++·ffmpeg·音视频·aac
数据库小学妹3 小时前
MySQL大表怎么优化?2亿行表的分区归档与冷热分离实战
数据库·mysql·分库分表·分区表·数据库运维·冷热分离
GeW4 小时前
从代码到共识:技术突围如何映照大国相处之道
linux
承渊政道4 小时前
Linux系统学习【进程信号详细解析——认识、产生、保存以及捕捉信号】
linux·学习·ubuntu·ssh·vs code·进程信号
硅基手札5 小时前
【linux内核专栏01】Linux 内核心智模型与设计哲学
linux·运维·驱动开发·开源软件
这个DBA有点耶5 小时前
连接池与MySQL交互实战:连接风暴、连接泄漏与连接状态异常排查
数据库·mysql·架构
需要8265 小时前
MySQL MVCC 与事务隔离级别:从一条 update 看版本链
java·数据库·spring boot·mysql·spring cloud