前言

在我架设《幻兽帕鲁》官方服务器时,由于服务器经常内存溢出而导致崩溃重启,加上官方有许多麻烦的BUG期间,很容易造成存档损坏,于是需要配置自动任务来定期保存服务器存档内容

创建脚本文件

首先需要在存档的目录创建一个脚本文件:

#进入存档目录
cd /home/palworld/Steam/steamapps/common/PalServer/Pal/Saved/SaveGames

#创建备份文件夹
mkdir backup

#创建脚本文件
touch autoback.sh

#给予执行权限
sudo chmod 755 autoback.sh

此时脚本文件已经创建完成,接下来要写入脚本执行的内容

脚本自动压缩备份

#!/bin/bash
# 定义备份路径
BACKUP_PATH="/home/palworld/Steam/steamapps/common/PalServer/Pal/Saved/SaveGames/backup"

# 定义要备份的游戏存档路径
SAVE_PATH="/home/palworld/Steam/steamapps/common/PalServer/Pal/Saved/SaveGames/0/"

# 生成日期标记
DATE=$(date +%Y%m%d%H%M)

# 创建新的备份文件
zip -q -r "${BACKUP_PATH}/${DATE}.zip" "${SAVE_PATH}"

验证脚本:

./autoback.sh

如果在backup文件夹内出现一个压缩备份,则成功

配置CRON任务指定间隔时间执行

编辑crontab 任务:

crontab -e

如需要每30分钟自动执行一次脚本,将以下写入crontab:

0,30 * * * * /bin/bash /home/palworld/Steam/steamapps/common/PalServer/Pal/Saved/SaveGames/autoback.sh

附:crontab机制:

* * * * * command to execute
- - - - -
| | | | |
| | | | +----- 星期中的天(0 - 7)(星期天=0或7)
| | | +------- 月份(1 - 12)
| | +--------- 一个月中的天(1 - 31)
| +----------- 小时(0 - 23)
+------------- 分钟(0 - 59)
最后修改:2024 年 02 月 06 日
喜欢就请我喝一杯奶茶吧~