搭建幻兽帕鲁个人服务器,最近不少用户碰到内存不足、游戏坏档之类的问题。做好定时备份,才能轻松快速恢复游戏进度
这里讲一下如何定时将服务器数据备份到轻量对象存储服务,以及如何在有需要的时候进行数据恢复。服务器中间的数据迁移,也可以参考本指南,免去手动拷贝数据,直接使用云端数据同步到本地进行恢复。
1. 一台 Linux 轻量应用服务器,部署幻兽帕鲁可参考:教程|幻兽帕鲁一键开私服
2. 同地域轻量 COS 存储桶
轻量对象存储服务支持按量付费,用多少付多少。也支持购买预付费套餐包,抵扣用量,价格更加优惠。
通过轻量云控制台,可以购买常规的轻量对象存储套餐包,套餐包支持两类中国大陆通用、中国香港和海外通用。按照存储桶需要的地域按需购买就可以了。
在 Lighthouse 购买页购买 Linux 实例时,支持加购一元的共享存储超值资源包。包含 10GB 的轻量对象存储容量和 1 GB的公网下行流量,可以满足基础的存储需要。
1. 登录轻量云控制台的对象存储,点击创建存储桶,输入存储桶名称(例如,palgame)。注意:一定要选择与轻量应用服务器同样的地域。
2. 进入存储桶详情页,选择【挂载服务器】。
PS:控制台一键挂载是Lighthouse 和轻量 COS 的联动功能。当前仅支持Linux 系统,如果需要备份到普通 COS 存储桶或服务器是 Windows 系统,推荐使用 coscmd 工具进行备份。
3. 选择已部署幻兽帕鲁的轻量服务器,输入存储桶挂载目录和服务器挂载目录。这里为了方便起见都命名为 /palbackup,记住这里服务器挂载目录的名字,后面还要用到。
4. 登录轻量应用服务器,创建一个空的服务器挂载目录。
mkdir /palbackup
1. 登录轻量应用服务器,找到幻兽帕鲁的数据存储目录 /Pal/Saved/SaveGames/0。找不到的话,可以执行下面的命令进行搜索。
sudo find / -name Pal
例如,我的存储目录在 /home/ubuntu/Steam/steamapps/common/PalServer/Pal/Saved/SaveGames/0,记住这个目录。
2. 创建一个备份脚本 palbackup.sh 。SOURCE_DIR 变量填写上一步幻兽帕鲁的存储目录,BACKUP_DIR 变量填写第一部分挂载存储桶中的服务器挂载目录(palbackup)。
#!/bin/bash
# Define source directory and backup directory
SOURCE_DIR="/home/ubuntu/Steam/steamapps/common/PalServer/Pal/Saved/SaveGames/0"
BACKUP_DIR="/palbackup"
DATE=$(date +%Y%m%d_%H%M%S)
# Create a gzip compressed tarbal
tar -cvf "${BACKUP_DIR}/backup_${DATE}.tar" "${SOURCE_DIR}"
echo "Backuppalbackup.sh of ${SOURCE_DIR} completed at ${BACKUP_DIR}/backup_${DATE}.tar.gz"
3. 尝试执行这个备份脚本。
sudo bash palbackup.sh
运行结果如下
查看轻量云控制台,进入我们创建的存储桶 palgame,查看文件列表,发现幻兽帕鲁的数据已经备份到存储桶内了。
1. 通过 crontab,可以完成定时备份。输入下面的输入命令
crontab -e
2. 复制下面行代码,添加定时执行任务。每隔半个小时执行一次备份脚本,备份的日志存储在 ~/palbackup.log。
0,30 * * * * bash ~/palbackup.sh >> ~/palbackup.log
1. 操作之前,先暂停服务。
2. 将云备份的 /Pal/Saved/SaveGames/0 文件夹解压后整个复制过去,替换掉原有的文件。PS:复制之前可以先把旧的文件备份下。
3. 文件夹 0 下面有一个随机序列号的文件夹,代表的是 DedicatedSever 的序列号。
4. 找到配置文件 /Pal/Saved/Config/LinuxServer/GameUserSettings.ini,将其中的DedicatedServerName 替换为上面的序列号。
5. 重新启动幻兽帕鲁服务