Linux系统中如何备份数据库

导读:

主要的Linux发行版都改用systemd 来替代 System V启动方式,其中 systemd timer 能替代 crontab 计划任务的大部分功能。本文介绍了用systemd timer如何实现数据库备份,其他类型的计划任务可以同理实现。

Linux系统中如何备份数据库

定义timer文件

进入目录/usr/lib/systemd/system,按如下文件建立timer:

[Unit]

Description=Runs db backup every hour

[Timer]

# Time to wait after booting before we run first time

OnBootSec=10min

# Time between running each consecutive time

OnUnitActiveSec=1h

Unit=db_backup.service

[Install]

WantedBy=multi-user.target

定义service文件

进入目录/usr/lib/systemd/system,按如下文件建立service:

[Unit]

Description=Backup database

[Service]

Type=simple

ExecStart=/usr/local/bin/db_backup

写数据库备份脚本

创建文件/usr/local/bin/db_backup,并写入数据库备份语句,例如:

#!/usr/bin/bash

/usr/bin/mysqldump -umy_username

-pmy_password -h192.168.1.xx

--databases my_database >

/path/to/backup/dir/my_database.

`date +'%Y%m%d%H%'`.sql

启用并运行timer

命令行下运行如下命令:

systemctl enable db_backup.timer

systemctl start db_backup.timer

计划任务执行后,即会在数据库备份的目录生成数据库备份文件

Linux系统中如何备份数据库

相关推荐