PalWorld 自動バックアップ その2
0.はじめに
前回の記事「PalWorld 自動バックアップ」のバックアップスクリプトを
改善してみました。
前回はサービスを停止しない毎時バックアップを作りましたが、
すこし修正を加えた他、サービスを停止する毎日バックアップを追加しました。
スクリプトの作り方やアップロード時の注意点などは、前回の記事を参照してください。
1.参考にさせていただいたサイト様
2.完成形イメージ
ディレクトリ・ファイル構成は下図のようになります。
3.毎時バックアップ
毎時30分にサービスを停止しないで取得するバックアップです。
3.1.保存先
/home/steam/Palworld_Backup/Hourly/[YYYYMMDD]/[YYMMDD]_[HHMMSS].tar.gz
3.2.スクリプト
/home/steam/Palworld_Backup/backup-palworld.sh
#!/bin/bash
echo "Start Backup"
# Definition
BACKUP_DIR="/home/steam/Palworld_Backup/Hourly"
SOURCE_DIR="/home/steam/Palworld/Pal/Saved"
DATE_YMD=$(date +%Y%m%d)
DATE_HMS=$(date +%H%M%S)
SAVE_FILE="${DATE_YMD}_${DATE_HMS}.tar.gz"
# Create Hourly Dir
if [ ! -d $BACKUP_DIR ]; then
echo "CreateDir:${BACKUP_DIR}"
mkdir $BACKUP_DIR
fi
#Create YMD Dir
BACKUP_DIR="${BACKUP_DIR}/${DATE_YMD}"
if [ ! -d $BACKUP_DIR ]; then
echo "CreateDir:${BACKUP_DIR}"
mkdir $BACKUP_DIR
fi
# Create a gzip compressed tarball
tar -czf "${BACKUP_DIR}/${SAVE_FILE}" -C "${SOURCE_DIR}" .
echo "[Completed] Backup from ${SOURCE_DIR} to ${BACKUP_DIR}/${SAVE_FILE}"
3.3.Cron
30 * * * * /home/steam/Palworld_Backup/backup-palworld.sh
4.毎日バックアップ
毎日6時にサービスを停止してからバックアップを取得、その後サービスを再開します。
4.1.保存先
/home/steam/Palworld_Backup/Daily/[YYMMDD]_[HHMMSS].tar.gz
4.2.スクリプト
/home/steam/Palworld_Backup/reboot-palworld.sh
#!/bin/bash
# Definition
BACKUP_DIR="/home/steam/Palworld_Backup/Daily"
SOURCE_DIR="/home/steam/Palworld/Pal/Saved"
SAVE_FILE="$(date +%Y%m%d_%H%M%S).tar.gz"
# Stop Server
echo "Stop Server"
stop_command="systemctl stop palworld-server"
eval $stop_command
if [ $? -ne 0 ]; then
echo "Failed to stop palworld server!"
exit 1
fi
echo "Start Backup"
# Create Daily Dir
if [ ! -d $BACKUP_DIR ]; then
echo "CreateDir:${BACKUP_DIR}"
mkdir $BACKUP_DIR
fi
# Create a gzip compressed tarball
tar -czf "${BACKUP_DIR}/${SAVE_FILE}" -C "${SOURCE_DIR}" .
echo "[Completed] Backup from ${SOURCE_DIR} to ${BACKUP_DIR}/${SAVE_FILE}"
# Start Server
echo "Start Server"
start_command="systemctl start palworld-server"
eval $start_command
if [ $? -ne 0 ]; then
echo "Failed to start palworld server!"
exit_status=1
fi
4.3.Cron
0 6 * * * /home/steam/Palworld_Backup/reboot-palworld.sh
5.おわりに
そのうち、サービス停止前にRCONを用いてsaveをかける処理を追加しようと考えています。
この記事が気に入ったらサポートをしてみませんか?