准备工作
1. 一台轻量应用服务器,部署 Palworld
2. 同地域轻量 COS 存储桶
挂载存储桶
1.登录轻量云控制台的轻量对象存储,点击创建存储桶,输入存储桶名称(例如,palgame)。注意:一定要选择与轻量应用服务器同样的地域。
2. 进入存储桶详情页,选择【挂载服务器】。
3.选择已部署幻兽帕鲁的轻量服务器,输入存储桶挂载目录和服务器挂载目录。这里为了方便起见都命名为 /palbackup,记住这里服务器挂载目录的名字,后面还要用到。
4.登录轻量应用服务器,创建一个空的服务器挂载目录。
mkdir /palbackup
创建备份脚本
1.确认帕鲁的备份存储目录。
/home/steam/Steam/steamapps/common/PalServer/Pal/Saved
sudo find / -name Pal
2.创建一个备份脚本 palbackup.sh 。SOURCE_DIR 变量填写上一步幻兽帕鲁的存储目录,BACKUP_DIR 变量填写第一部分挂载存储桶中的服务器挂载目录(palbackup)。
#!/bin/bash
# Define source directory and backup directory
SOURCE_DIR="/home/steam/Steam/steamapps/common/PalServer/Pal/Saved"
BACKUP_DIR="/palbackup"
DATE=$(date +%Y%m%d_%H%M%S)
# Create a gzip compressed tarbal
sudo tar -cvf "${BACKUP_DIR}/backup_${DATE}.tar" "${SOURCE_DIR}"
echo "Backuppalbackup.sh of ${SOURCE_DIR} completed at ${BACKUP_DIR}/backup_${DATE}.tar"
3.尝试执行这个备份脚本。
sudo bash palbackup.sh
运行结果如下
4.查看轻量云控制台,进入我们创建的存储桶 palgame,查看文件列表,发现幻兽帕鲁的数据已经备份到存储桶内了。
定时备份
1.通过 crontab,可以完成定时备份。输入下面的输入命令
crontab -e
2.复制下面行代码,添加定时执行任务。每隔半个小时执行一次备份脚本,备份的日志存储在 ~/palbackup.log。
0,30 * * * * bash ~/palbackup.sh >> ~/palbackup.log
恢复备份
1.恢复备份前,先停止帕鲁服务。输入下面的命令:
sudo systemctl stop pal-server
2.将备份文件通过控制台从存储桶中下载下来,上传到 Linux 服务器。或者像下面这样,直接从挂载目录拷贝出来。
cd /palbackup
ls
cp palbackup/backup_xxxxxx_xxxxxx.tar ~/backup_xxxxxx_xxxxxx.tar
解压后将 Saved 文件夹复制到帕鲁存档的路径,替换掉原有的 Saved 文件。PS:复制之前可以先把旧的Saved文件备份下,避免旧档丢失。
3.重新启动幻兽帕鲁服务
sudo systemctl start pal-server