给免费的SERV00定时备份数据到WebDav服务器

文章目录[隐藏]

前言

前段时间有介绍了一款免费的服务器虚拟主机《注册流程超简单:免费十年服务器申请并部署wordpress过程》,之前经历过甲骨文的突然无权访问,所有实例的数据都掉了,吃一亏长一智,一定要做好数据备份,而且免费的更加要小心。数据无价呀。

过程

实现过程,利用的是Serv00的Cron Jobs定时任务,制定自动自动打包命令传输到WebDav服务器。这里使用的是《推荐一个永久45G,支持WebDav的海外网盘infiniCloud》一文里提到的WebDav服务器。非常稳定,而且支持挂载到本地《挂载支持WebDav的海外网盘infiniCloud到本地硬盘》,有兴趣的可以看看。

现在回到实现过程汇总:

image-20240417121224470

第一条任务:每个周二的八点执行打包任务 tar -cvzf /home/mailberry/yourdomain-$(date +%F).tar.gz /home/mailberry/domains/yourdomain/public_html/

解析:使用tar打包命令将yourdomain的public_html目录打包成yourdomain-当天日期.tar.gz

第二条任务:每个周二的九点执行上传到WebDav任务 curl -u mailberry:password -T /home/mailberry/yourdomain-$(date +%F).tar.gz -s -w %{http_code} https://higa.teracloud.jp/dav/

解析:这个命令使用curl工具进行HTTP请求,对远程服务器进行身份验证,并将本地文件上传到远程服务器上。下面是命令的解析:

  • curl: 使用curl命令行工具。
  • -u "admin:pwd": 指定用户名和密码进行身份验证。在这里,admin是用户名,pwd是密码。
  • -T /home/mailberry/yourdomain-\$(date +%F).tar.gz: 指定要上传的本地文件路径。/home/mailberry/yourdomain-\$(date +%F).tar.gz是一个动态路径,其中$(date +%F)会被当前日期替换。这个命令会将名为yourdomain-YYYY-MM-DD.tar.gz的文件上传到远程服务器。
  • -s: 静默模式,不输出进度信息或错误消息。
  • -w "%{http_code}": 指定输出格式为HTTP响应码。这个命令会在curl请求执行完毕后输出HTTP响应码。
  • "https://higa.teracloud.jp/dav/": 目标URL,指定了远程服务器的地址和目录。

以下测试过程,可忽略

1713327699927_d

上图可以看到已经成功上传了

image-20240412095130849

登录WebDav也看到成功了,说明命令是有效的,当然这是测试命令时候使用到,并不需要操作这两个步骤。

以上是测试过程,可忽略

第三条任务:每周二的十点执行删除任务 rm /home/mailberry/yourdomain-$(date +%F).tar.gz

解析:使用了rm删除当天备份的文件,这样做可以省空间容量。

第四条任务:每月的28日,十二点十二分执行删除远程WebDav目录下yourdomain+2天前日期文件 curl -X DELETE -u "mailberry:password" -s -o /dev/null -w "%{http_code}" "https://higa.teracloud.jp/dav/yourdomain-$(date -v -2d +%F).tar.gz"

解析:这个命令使用curl工具向远程服务器发送HTTP DELETE请求,以删除远程服务器上的文件

$(date -v -2d +%F)表示2天前日期的名称,Serv00使用的是BSD系统,所以要使用这个命令。

image-20240417123151394

这是第二点命令的样板,其它命令就是改对应位置便可以了,不再重复截图

总结

创建了每周二8点备份,九点上传,十点删除,每月的28号清理一次远程目录,避免把远程目录器挤暴了。这种方法非常适合简单图床的备份,因为它用不到数据库。

生成海报
点赞 0

暂无评论

发表评论

您的电子邮件地址不会被公开,必填项已用*标注。

相关推荐