环境: archlinux
需求
有一台centos的数据库服务器,里面只有一块硬盘;备份又不好就做在同一硬盘上,只好打另一台服务器的主意。另一台服务器是archlinux。 故设想是将数据库定期备份到arch上。
尝试做法
在网上了解到linux常用的的定时器是crontab.但是等我写好测试脚本,发现怎么也启动不了它。偶然又在wiki上看到有更好的定时器 。看了一下不再迟疑,就用它了.
参考链接:
需要将Timers简述下.Timer只是一个定时器,需要处理的脚本要单独写成服务。下面给出示范。
先写功能服务 (backup_db.service : /etc/systemd/system/)
[Unit]Description=backup_db[Service]Type=simpleExecStart=/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=10minOnUnitActiveSec=1wUnit=backup_db.service[Install]WantedBy=multi-user.target
需要开机启动:
systemctl enable backup_db.service systemctl start backup_db.service systemctl enable task.timersystemctl start task.timer