arch下定时备份数据库

环境: archlinux 

需求

有一台centos的数据库服务器,里面只有一块硬盘;备份又不好就做在同一硬盘上,只好打另一台服务器的主意。另一台服务器是archlinux。 故设想是将数据库定期备份到arch上。

尝试做法

在网上了解到linux常用的的定时器是crontab.但是等我写好测试脚本,发现怎么也启动不了它。偶然又在wiki上看到有更好的定时器 systemd/Timers。看了一下不再迟疑,就用它了.

参考链接: How to Use Systemd Timers

需要将Timers简述下.Timer只是一个定时器,需要处理的脚本要单独写成服务。下面给出示范。

先写功能服务 (backup_db.service : /etc/systemd/system/)

[Unit]
Description=backup_db

[Service]
Type=simple
ExecStart=/etc/init.d/backup_db

[Install]
WantedBy=mytimer.target

备份脚本(backup_db:/etc/init.d/)

filename=`date +%Y%m%d`

/usr/bin/mysqldump -uroot -pyourpasswd -h yourip yourdatabase > /root/backup/$filename

定时服务(task.timer: /etc/systemd/system/)

[Unit]
Description=Run backup_db  weekly and on boot

[Timer]
OnBootSec=10min
OnUnitActiveSec=1w
Unit=backup_db.service

[Install]
WantedBy=multi-user.target

需要开机启动:

systemctl enable backup_db.service 
systemctl start backup_db.service 
systemctl enable task.timer
systemctl start task.timer

你可能感兴趣的:(数据备份)