环境: 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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。