目 录CONTENT

文章目录

定时自动备份云服务器数据库文件

DUSHE
2024-04-01 / 0 评论 / 8 点赞 / 119 阅读 / 654 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-04-02,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

我们在部署服务时,难免会遇到使用H2数据库,但目前H2数据库很容易损坏,所以定时备份db文件,以便在损坏后恢复数据,以下是以halo博客H2数据库为例:

在Linux系统上,你可以使用cron(定时任务调度器)和tar(压缩工具)来定期压缩某个路径下的文件。

1. 创建Shell脚本

创建一个Shell脚本,用于压缩指定路径下的文件,可以使用 tar 命令进行压缩,创建一个新的文本文件,比如 bf.sh,并添加以下内容:

vim /opt/halo/bf.sh      #编辑文件,文件路径请根据自己所需更改。

添加内容(本教程是按照我部署的路径作为参考,实际请替换自己的):

#!/bin/bash

# 进入目标路径
cd /opt/halo/halo/db

# 使用tar压缩文件,是以:年/月/日/_时/分 命名
tar -czvf backup-$(date +\%Y\%m\%d_\%H\%M).tar.gz *

# 移动到备份目录
mv /opt/halo/halo/db/backup* /opt/halo/halo备份

2. 为脚本添加执行权限

在终端中运行以下命令,为脚本添加执行权限:

chmod +x bf.sh

3. 设置定时任务

使用cron设置定时任务。运行以下命令编辑cron表:

crontab -e

选择编辑器:

我这里选择 /bin/nano

编辑 cron 表:

在打开的编辑器中,将光标移动到文件的末尾;

添加一行,内容为00 12 * * * /bin/bash /opt/halo/bf.sh

如果你选择的是 /bin/nano,可以按 Ctrl + O 保存,按 Enter 确认,然后按 Ctrl + X 退出;

现在,你已经成功添加了定时任务。你可以使用 crontab -l 来查看你的当前 cron 表,以确保添加成功。

可以自定义多个时间段添加,以下是举例:

每天上午12点

00 12 * * * /bin/bash /opt/halo/bf.sh

每天下午18点

00 18 * * * /bin/bash /opt/halo/bf.sh

每天傍晚21点

00 21 * * * /bin/bash /opt/halo/bf.sh

每天凌晨12点

00 00 * * * /bin/bash /opt/halo/bf.sh

这表示在每天4个时间段分别执行 /opt/halo/bf.sh 脚本。你可以根据需要调整cron表达式。

4. 保存并退出

根据你使用的编辑器,保存并退出。

现在,脚本将在预定的时间执行,压缩指定路径下的文件,并移动到指定位置目录下。

8

评论区