服务器 开机启动 + 定时任务 + Shell 脚本自动备份 MySQL 数据库

11 阅读1分钟

tip:需求要求数据库定时备份,如果开机后也需要启动运行定时备份

前置条件

  • CentOS 7 服务器。
  • 安装并运行 MySQL 数据库。
  • 有足够的权限来创建备份脚本并设置 cron 任务。

创建备份脚本

创建一个文件夹

mkdir /root/mysql_back
mkdir /root/mysql_back/backup

创建脚本

vim /root/mysql_backup.sh

复制下面脚本

#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/root/mysql_back/backup"
DB_USER="your_username"
DB_PASSWORD="your_password"
DB_NAME="device_dev"

mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME > "$BACKUP_DIR/device_dev_backup_$DATE.sql"

替换 BACKUP_DIRDB_USER 和 DB_PASSWORD 为你的实际备份目录和MySQL凭据。

可以为 BACKUP_DIR 添加一下执行权限

sudo chmod -R 700 /root/mysql_back/

使脚本可执行

sudo chmod +x /root/mysql_backup.sh

设置 开机启动

sudo nano /etc/systemd/system/mysql_back.service

替换mysql_back名称

[Unit]
Description=MySQL_BackUp
After=network.target

[Service]
Type=simple
ExecStart=/root/mysql_backup.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

替换My Script Service名称、ExecStart的路径,写为脚本路径.