定时备份的优雅做法

本文介绍了一种使用crontab和bash脚本自动备份并管理Phabricator数据的方法,确保每天进行备份并保留最近三天的数据,同时探讨了监控定时任务的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求背景

目前所在的创业公司需要定时备份以下,工作时候使用的phabricator,本来应该是运维人员早就做了的事情。后来公司人事变动没有了运维,我们有限使用的其中的一台机器,移动phabricator的时候,发现他没有备份。好在需要备份的文件是通过docker 的目录挂出来的。

需求

将phabricator的恢复文件每天备份一次,保留三天的备份。

解决

每天备份一次可以使用 crontab ,放在深夜无人的时候做。
crontab -e
10 2 * * * /bin/bash /mnt/data/backup.sh

保留三份,这个如何实现,我以前练习C语言的时候,写过计算当前时间的前一秒,这个可不是一个简但的时间相减就可以了,要考虑闰年,每天,每月,每年的最后一秒,还有历史上少了的几天(确切的说是1582年10月5日到10月14的十天)
好在linux 下date 命令有个参数可以直接指定前多少时间
比如当前日期的前三天
date +%Y_%m_%d --date="-3 day"
于是这个脚本就比较容易写了

#!/bin/bash
new=`date +%Y_%m_%d`
del=`date +%Y_%m_%d --date="-3 day"`
/usr/bin/cp -r /mnt/data/phabricator  /mnt/data/phab_backup/phab_$new ;
/usr/bin/rm -r /mnt/data/phab_backup/phab_$del ;

有没有更好的方式?

  • 从开发角度上, 使用分钟。或者秒,可以先验证是否正确,然后再写入corntab

  • corntab 定时任务,万一出了什么问题,如何监控,最后还是放在CI(如jenkins中).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值