Linux系统中如何备份数据库
导读:
主要的Linux发行版都改用systemd 来替代 System V启动方式,其中 systemd timer 能替代 crontab 计划任务的大部分功能。本文介绍了用systemd timer如何实现数据库备份,其他类型的计划任务可以同理实现。
定义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
计划任务执行后,即会在数据库备份的目录生成数据库备份文件
相关推荐
如果数据库比较大的话,时间会比较长,可能会超时,具体怎么设置ssh不超时的办法,请大家自己找相关资料。所以用上面的命令即可,也简单。看下Mysql是否正常运行,如果能正常启动,那基本上就没什么问题了。