<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.ark-hoster.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D0%B1%D1%8D%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_Bedrock_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0</id>
	<title>Настройка автоматических бэкапов Bedrock сервера - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ark-hoster.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D0%B1%D1%8D%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_Bedrock_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0"/>
	<link rel="alternate" type="text/html" href="https://wiki.ark-hoster.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D0%B1%D1%8D%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_Bedrock_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&amp;action=history"/>
	<updated>2026-05-01T13:01:13Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.ark-hoster.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D0%B1%D1%8D%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_Bedrock_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&amp;diff=1580&amp;oldid=prev</id>
		<title>Admin: Новая страница: «= Настройка автоматических бэкапов Bedrock сервера =  == 1. Подготовка системы ==  * Войдите в си…»</title>
		<link rel="alternate" type="text/html" href="https://wiki.ark-hoster.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D0%B1%D1%8D%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_Bedrock_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&amp;diff=1580&amp;oldid=prev"/>
		<updated>2025-11-03T10:17:21Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «= Настройка автоматических бэкапов Bedrock сервера =  == 1. Подготовка системы ==  * Войдите в си…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Настройка автоматических бэкапов Bedrock сервера =&lt;br /&gt;
&lt;br /&gt;
== 1. Подготовка системы ==&lt;br /&gt;
&lt;br /&gt;
* Войдите в систему под учетной записью с правами &amp;#039;&amp;#039;&amp;#039;root&amp;#039;&amp;#039;&amp;#039; или пользователя с правами &amp;#039;&amp;#039;&amp;#039;sudo&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Убедитесь, что Bedrock сервер установлен и работает на Ubuntu 24.04 LTS.&lt;br /&gt;
* Проверьте наличие свободного места для бэкапов (рекомендуется минимум 50GB).&lt;br /&gt;
* Убедитесь, что у вас есть доступ к серверу через SSH.&lt;br /&gt;
&lt;br /&gt;
== 2. Установка необходимых пакетов ==&lt;br /&gt;
&lt;br /&gt;
=== Обновление системы ===&lt;br /&gt;
&lt;br /&gt;
1. Обновите систему:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt update&lt;br /&gt;
sudo apt upgrade -y&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Установите необходимые пакеты:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo apt install -y rsync tar gzip zip unzip cron&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Проверьте установку:&lt;br /&gt;
&amp;lt;pre&amp;gt;which rsync&lt;br /&gt;
which tar&lt;br /&gt;
which gzip&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Настройка cron ===&lt;br /&gt;
&lt;br /&gt;
1. Убедитесь, что cron запущен:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl start cron&lt;br /&gt;
sudo systemctl enable cron&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Проверьте статус:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl status cron&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. Создание структуры для бэкапов ==&lt;br /&gt;
&lt;br /&gt;
=== Создание директорий ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте основную директорию для бэкапов:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo mkdir -p /backup/bedrock&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Создайте поддиректории:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo mkdir -p /backup/bedrock/worlds&lt;br /&gt;
sudo mkdir -p /backup/bedrock/configs&lt;br /&gt;
sudo mkdir -p /backup/bedrock/addons&lt;br /&gt;
sudo mkdir -p /backup/bedrock/logs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Установите права доступа:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo chown -R bedrock:bedrock /backup/bedrock&lt;br /&gt;
sudo chmod -R 755 /backup/bedrock&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Проверка свободного места ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте доступное место:&lt;br /&gt;
&amp;lt;pre&amp;gt;df -h /backup&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Создайте отдельный раздел для бэкапов (опционально):&lt;br /&gt;
&amp;lt;pre&amp;gt;\# Рекомендуется использовать отдельный диск или раздел&lt;br /&gt;
\# для бэкапов&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4. Создание скрипта бэкапа ==&lt;br /&gt;
&lt;br /&gt;
=== Базовый скрипт бэкапа ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте основной скрипт:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /usr/local/bin/bedrock-backup.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Добавьте содержимое:&lt;br /&gt;
&amp;lt;pre&amp;gt;\#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
\# Настройки бэкапа&lt;br /&gt;
BACKUP_DIR=&amp;quot;/backup/bedrock&amp;quot;&lt;br /&gt;
SERVER_DIR=&amp;quot;/opt/bedrock&amp;quot;&lt;br /&gt;
DATE=$(date +%Y%m%d_%H%M%S)&lt;br /&gt;
LOG_FILE=&amp;quot;/var/log/bedrock-backup.log&amp;quot;&lt;br /&gt;
RETENTION_DAYS=7&lt;br /&gt;
&lt;br /&gt;
\# Функция логирования&lt;br /&gt;
log_message() {&lt;br /&gt;
    echo &amp;quot;[$(date &amp;#039;+%Y-%m-%d %H:%M:%S&amp;#039;)] $1&amp;quot; | tee -a &amp;quot;$LOG_FILE&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
\# Проверка доступности сервера&lt;br /&gt;
if [ ! -d &amp;quot;$SERVER_DIR&amp;quot; ]; then&lt;br /&gt;
    log_message &amp;quot;ERROR: Server directory not found: $SERVER_DIR&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
log_message &amp;quot;Starting Bedrock server backup...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
\# Создание директории для бэкапа&lt;br /&gt;
BACKUP_PATH=&amp;quot;$BACKUP_DIR/$DATE&amp;quot;&lt;br /&gt;
mkdir -p &amp;quot;$BACKUP_PATH&amp;quot;&lt;br /&gt;
&lt;br /&gt;
\# Остановка сервера для консистентного бэкапа&lt;br /&gt;
log_message &amp;quot;Stopping Bedrock server...&amp;quot;&lt;br /&gt;
sudo systemctl stop minecraft-bedrock&lt;br /&gt;
&lt;br /&gt;
\# Ожидание полной остановки&lt;br /&gt;
sleep 5&lt;br /&gt;
&lt;br /&gt;
\# Бэкап миров&lt;br /&gt;
log_message &amp;quot;Backing up worlds...&amp;quot;&lt;br /&gt;
if [ -d &amp;quot;$SERVER_DIR/worlds&amp;quot; ]; then&lt;br /&gt;
    tar -czf &amp;quot;$BACKUP_PATH/worlds.tar.gz&amp;quot; -C &amp;quot;$SERVER_DIR&amp;quot; worlds/&lt;br /&gt;
    log_message &amp;quot;Worlds backed up: $(du -h &amp;quot;$BACKUP_PATH/worlds.tar.gz&amp;quot; | cut -f1)&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
\# Бэкап конфигурации&lt;br /&gt;
log_message &amp;quot;Backing up configuration files...&amp;quot;&lt;br /&gt;
tar -czf &amp;quot;$BACKUP_PATH/configs.tar.gz&amp;quot; -C &amp;quot;$SERVER_DIR&amp;quot; \&lt;br /&gt;
    server.properties \&lt;br /&gt;
    permissions.json \&lt;br /&gt;
    allowlist.json \&lt;br /&gt;
    valid_known_packs.json 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
\# Бэкап дополнений&lt;br /&gt;
log_message &amp;quot;Backing up addons...&amp;quot;&lt;br /&gt;
if [ -d &amp;quot;$SERVER_DIR/behavior_packs&amp;quot; ] || [ -d &amp;quot;$SERVER_DIR/resource_packs&amp;quot; ]; then&lt;br /&gt;
    tar -czf &amp;quot;$BACKUP_PATH/addons.tar.gz&amp;quot; -C &amp;quot;$SERVER_DIR&amp;quot; \&lt;br /&gt;
        behavior_packs/ resource_packs/ 2&amp;gt;/dev/null&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
\# Бэкап логов&lt;br /&gt;
log_message &amp;quot;Backing up logs...&amp;quot;&lt;br /&gt;
if [ -d &amp;quot;$SERVER_DIR/logs&amp;quot; ]; then&lt;br /&gt;
    tar -czf &amp;quot;$BACKUP_PATH/logs.tar.gz&amp;quot; -C &amp;quot;$SERVER_DIR&amp;quot; logs/ 2&amp;gt;/dev/null&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
\# Полный бэкап всего сервера (опционально)&lt;br /&gt;
log_message &amp;quot;Creating full backup...&amp;quot;&lt;br /&gt;
tar -czf &amp;quot;$BACKUP_PATH/full-backup.tar.gz&amp;quot; -C &amp;quot;$SERVER_DIR&amp;quot; . \&lt;br /&gt;
    --exclude=&amp;#039;*.log&amp;#039; \&lt;br /&gt;
    --exclude=&amp;#039;crash-reports&amp;#039; \&lt;br /&gt;
    2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
\# Запуск сервера&lt;br /&gt;
log_message &amp;quot;Starting Bedrock server...&amp;quot;&lt;br /&gt;
sudo systemctl start minecraft-bedrock&lt;br /&gt;
&lt;br /&gt;
\# Подсчет размера бэкапа&lt;br /&gt;
BACKUP_SIZE=$(du -sh &amp;quot;$BACKUP_PATH&amp;quot; | cut -f1)&lt;br /&gt;
log_message &amp;quot;Backup completed successfully. Size: $BACKUP_SIZE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
\# Удаление старых бэкапов&lt;br /&gt;
log_message &amp;quot;Cleaning up old backups (older than $RETENTION_DAYS days)...&amp;quot;&lt;br /&gt;
find &amp;quot;$BACKUP_DIR&amp;quot; -type d -name &amp;quot;20*&amp;quot; -mtime +$RETENTION_DAYS -exec rm -rf {} \;&lt;br /&gt;
&lt;br /&gt;
\# Подсчет оставшихся бэкапов&lt;br /&gt;
BACKUP_COUNT=$(find &amp;quot;$BACKUP_DIR&amp;quot; -type d -name &amp;quot;20*&amp;quot; | wc -l)&lt;br /&gt;
log_message &amp;quot;Total backups remaining: $BACKUP_COUNT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
\# Проверка места на диске&lt;br /&gt;
DISK_USAGE=$(df -h &amp;quot;$BACKUP_DIR&amp;quot; | tail -1 | awk &amp;#039;{print $5}&amp;#039; | sed &amp;#039;s/%//&amp;#039;)&lt;br /&gt;
if [ &amp;quot;$DISK_USAGE&amp;quot; -gt 80 ]; then&lt;br /&gt;
    log_message &amp;quot;WARNING: Disk usage is ${DISK_USAGE}%. Consider cleaning up old backups.&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
log_message &amp;quot;Backup process completed!&amp;quot;&lt;br /&gt;
exit 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Сделайте скрипт исполняемым:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo chmod +x /usr/local/bin/bedrock-backup.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Тестирование:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo /usr/local/bin/bedrock-backup.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. Настройка автоматического бэкапа ==&lt;br /&gt;
&lt;br /&gt;
=== Настройка cron ===&lt;br /&gt;
&lt;br /&gt;
1. Откройте crontab:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo crontab -e&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Добавьте задачи для автоматического бэкапа:&lt;br /&gt;
&lt;br /&gt;
\# Бэкап каждый час&lt;br /&gt;
&amp;lt;pre&amp;gt;0 * * * * /usr/local/bin/bedrock-backup.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\# Бэкап каждые 6 часов&lt;br /&gt;
&amp;lt;pre&amp;gt;0 */6 * * * /usr/local/bin/bedrock-backup.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\# Бэкап каждые 12 часов&lt;br /&gt;
&amp;lt;pre&amp;gt;0 */12 * * * /usr/local/bin/bedrock-backup.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\# Бэкап ежедневно в 3:00&lt;br /&gt;
&amp;lt;pre&amp;gt;0 3 * * * /usr/local/bin/bedrock-backup.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Пример полной конфигурации:&lt;br /&gt;
&amp;lt;pre&amp;gt;\# Бэкап каждый день в 3:00 ночи&lt;br /&gt;
0 3 * * * /usr/local/bin/bedrock-backup.sh &amp;gt;&amp;gt; /var/log/bedrock-backup-cron.log 2&amp;gt;&amp;amp;1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Проверка задач cron ===&lt;br /&gt;
&lt;br /&gt;
1. Просмотр задач:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo crontab -l&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Проверка логов cron:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo tail -f /var/log/syslog | grep CRON&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. Расширенный скрипт бэкапа ==&lt;br /&gt;
&lt;br /&gt;
=== Скрипт с инкрементальными бэкапами ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте расширенный скрипт:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /usr/local/bin/bedrock-backup-advanced.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Добавьте содержимое:&lt;br /&gt;
&amp;lt;pre&amp;gt;\#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
BACKUP_DIR=&amp;quot;/backup/bedrock&amp;quot;&lt;br /&gt;
SERVER_DIR=&amp;quot;/opt/bedrock&amp;quot;&lt;br /&gt;
DATE=$(date +%Y%m%d_%H%M%S)&lt;br /&gt;
LOG_FILE=&amp;quot;/var/log/bedrock-backup.log&amp;quot;&lt;br /&gt;
RETENTION_DAYS=7&lt;br /&gt;
INCREMENTAL=false&lt;br /&gt;
&lt;br /&gt;
\# Парсинг аргументов&lt;br /&gt;
while [[ $# -gt 0 ]]; do&lt;br /&gt;
    case $1 in&lt;br /&gt;
        --incremental)&lt;br /&gt;
            INCREMENTAL=true&lt;br /&gt;
            shift&lt;br /&gt;
            ;;&lt;br /&gt;
        --full)&lt;br /&gt;
            INCREMENTAL=false&lt;br /&gt;
            shift&lt;br /&gt;
            ;;&lt;br /&gt;
        *)&lt;br /&gt;
            echo &amp;quot;Unknown option: $1&amp;quot;&lt;br /&gt;
            exit 1&lt;br /&gt;
            ;;&lt;br /&gt;
    esac&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
log_message() {&lt;br /&gt;
    echo &amp;quot;[$(date &amp;#039;+%Y-%m-%d %H:%M:%S&amp;#039;)] $1&amp;quot; | tee -a &amp;quot;$LOG_FILE&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
\# Функция инкрементального бэкапа&lt;br /&gt;
incremental_backup() {&lt;br /&gt;
    log_message &amp;quot;Starting incremental backup...&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    \# Поиск последнего бэкапа&lt;br /&gt;
    LAST_BACKUP=$(ls -td &amp;quot;$BACKUP_DIR&amp;quot;/20* 2&amp;gt;/dev/null | head -1)&lt;br /&gt;
    &lt;br /&gt;
    if [ -z &amp;quot;$LAST_BACKUP&amp;quot; ]; then&lt;br /&gt;
        log_message &amp;quot;No previous backup found, creating full backup...&amp;quot;&lt;br /&gt;
        incremental_backup=false&lt;br /&gt;
        return&lt;br /&gt;
    fi&lt;br /&gt;
    &lt;br /&gt;
    \# Инкрементальный бэкап только измененных файлов&lt;br /&gt;
    log_message &amp;quot;Using rsync for incremental backup...&amp;quot;&lt;br /&gt;
    rsync -av --link-dest=&amp;quot;$LAST_BACKUP&amp;quot; \&lt;br /&gt;
        &amp;quot;$SERVER_DIR/worlds/&amp;quot; \&lt;br /&gt;
        &amp;quot;$BACKUP_DIR/$DATE/worlds/&amp;quot; \&lt;br /&gt;
        --exclude=&amp;#039;*.log&amp;#039; \&lt;br /&gt;
        --exclude=&amp;#039;cache&amp;#039;&lt;br /&gt;
    &lt;br /&gt;
    log_message &amp;quot;Incremental backup completed&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
\# Основной процесс бэкапа&lt;br /&gt;
if [ &amp;quot;$INCREMENTAL&amp;quot; = true ]; then&lt;br /&gt;
    incremental_backup&lt;br /&gt;
else&lt;br /&gt;
    \# Полный бэкап (используйте базовый скрипт)&lt;br /&gt;
    /usr/local/bin/bedrock-backup.sh&lt;br /&gt;
fi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Сделайте исполняемым:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo chmod +x /usr/local/bin/bedrock-backup-advanced.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 7. Настройка ротации бэкапов ==&lt;br /&gt;
&lt;br /&gt;
=== Скрипт ротации ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте скрипт ротации:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /usr/local/bin/bedrock-backup-rotation.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Добавьте содержимое:&lt;br /&gt;
&amp;lt;pre&amp;gt;\#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
BACKUP_DIR=&amp;quot;/backup/bedrock&amp;quot;&lt;br /&gt;
RETENTION_DAYS=7&lt;br /&gt;
LOG_FILE=&amp;quot;/var/log/bedrock-backup-rotation.log&amp;quot;&lt;br /&gt;
&lt;br /&gt;
log_message() {&lt;br /&gt;
    echo &amp;quot;[$(date &amp;#039;+%Y-%m-%d %H:%M:%S&amp;#039;)] $1&amp;quot; | tee -a &amp;quot;$LOG_FILE&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
log_message &amp;quot;Starting backup rotation...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
\# Удаление старых бэкапов&lt;br /&gt;
DELETED=$(find &amp;quot;$BACKUP_DIR&amp;quot; -type d -name &amp;quot;20*&amp;quot; -mtime +$RETENTION_DAYS -exec rm -rf {} \; -print | wc -l)&lt;br /&gt;
&lt;br /&gt;
log_message &amp;quot;Deleted $DELETED old backup(s)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
\# Подсчет оставшихся бэкапов&lt;br /&gt;
REMAINING=$(find &amp;quot;$BACKUP_DIR&amp;quot; -type d -name &amp;quot;20*&amp;quot; | wc -l)&lt;br /&gt;
TOTAL_SIZE=$(du -sh &amp;quot;$BACKUP_DIR&amp;quot; | cut -f1)&lt;br /&gt;
&lt;br /&gt;
log_message &amp;quot;Remaining backups: $REMAINING&amp;quot;&lt;br /&gt;
log_message &amp;quot;Total backup size: $TOTAL_SIZE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
\# Проверка места на диске&lt;br /&gt;
DISK_USAGE=$(df -h &amp;quot;$BACKUP_DIR&amp;quot; | tail -1 | awk &amp;#039;{print $5}&amp;#039; | sed &amp;#039;s/%//&amp;#039;)&lt;br /&gt;
if [ &amp;quot;$DISK_USAGE&amp;quot; -gt 90 ]; then&lt;br /&gt;
    log_message &amp;quot;WARNING: Critical disk usage: ${DISK_USAGE}%&amp;quot;&lt;br /&gt;
    \# Удаление самых старых бэкапов&lt;br /&gt;
    find &amp;quot;$BACKUP_DIR&amp;quot; -type d -name &amp;quot;20*&amp;quot; -exec ls -dt {} + | tail -n +6 | xargs rm -rf&lt;br /&gt;
    log_message &amp;quot;Emergency cleanup performed&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
log_message &amp;quot;Rotation completed!&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Сделайте исполняемым:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo chmod +x /usr/local/bin/bedrock-backup-rotation.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Добавьте в cron (выполняется ежедневно в 4:00):&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo crontab -e&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Добавьте задачу:&lt;br /&gt;
&amp;lt;pre&amp;gt;0 4 * * * /usr/local/bin/bedrock-backup-rotation.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 8. Восстановление из бэкапа ==&lt;br /&gt;
&lt;br /&gt;
=== Скрипт восстановления ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте скрипт восстановления:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /usr/local/bin/bedrock-backup-restore.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Добавьте содержимое:&lt;br /&gt;
&amp;lt;pre&amp;gt;\#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
if [ -z &amp;quot;$1&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Usage: $0 &amp;lt;backup-date&amp;gt; [world|config|all]&amp;quot;&lt;br /&gt;
    echo &amp;quot;Example: $0 20240101_030000 all&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
BACKUP_DATE=&amp;quot;$1&amp;quot;&lt;br /&gt;
RESTORE_TYPE=&amp;quot;${2:-all}&amp;quot;&lt;br /&gt;
BACKUP_DIR=&amp;quot;/backup/bedrock&amp;quot;&lt;br /&gt;
SERVER_DIR=&amp;quot;/opt/bedrock&amp;quot;&lt;br /&gt;
BACKUP_PATH=&amp;quot;$BACKUP_DIR/$BACKUP_DATE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ ! -d &amp;quot;$BACKUP_PATH&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Backup not found: $BACKUP_PATH&amp;quot;&lt;br /&gt;
    echo &amp;quot;Available backups:&amp;quot;&lt;br /&gt;
    ls -1 &amp;quot;$BACKUP_DIR&amp;quot; | grep &amp;quot;^20&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Restoring from backup: $BACKUP_DATE&amp;quot;&lt;br /&gt;
echo &amp;quot;Type: $RESTORE_TYPE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
\# Остановка сервера&lt;br /&gt;
echo &amp;quot;Stopping Bedrock server...&amp;quot;&lt;br /&gt;
sudo systemctl stop minecraft-bedrock&lt;br /&gt;
&lt;br /&gt;
\# Создание резервной копии текущего состояния&lt;br /&gt;
CURRENT_BACKUP=&amp;quot;$BACKUP_DIR/current-before-restore-$(date +%Y%m%d_%H%M%S)&amp;quot;&lt;br /&gt;
mkdir -p &amp;quot;$CURRENT_BACKUP&amp;quot;&lt;br /&gt;
cp -r &amp;quot;$SERVER_DIR&amp;quot;/* &amp;quot;$CURRENT_BACKUP/&amp;quot; 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
\# Восстановление&lt;br /&gt;
case &amp;quot;$RESTORE_TYPE&amp;quot; in&lt;br /&gt;
    world)&lt;br /&gt;
        echo &amp;quot;Restoring worlds...&amp;quot;&lt;br /&gt;
        tar -xzf &amp;quot;$BACKUP_PATH/worlds.tar.gz&amp;quot; -C &amp;quot;$SERVER_DIR&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
    config)&lt;br /&gt;
        echo &amp;quot;Restoring configuration...&amp;quot;&lt;br /&gt;
        tar -xzf &amp;quot;$BACKUP_PATH/configs.tar.gz&amp;quot; -C &amp;quot;$SERVER_DIR&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
    all)&lt;br /&gt;
        echo &amp;quot;Restoring full backup...&amp;quot;&lt;br /&gt;
        tar -xzf &amp;quot;$BACKUP_PATH/full-backup.tar.gz&amp;quot; -C &amp;quot;$SERVER_DIR&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
    *)&lt;br /&gt;
        echo &amp;quot;Unknown restore type: $RESTORE_TYPE&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
        ;;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
\# Установка прав доступа&lt;br /&gt;
sudo chown -R bedrock:bedrock &amp;quot;$SERVER_DIR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
\# Запуск сервера&lt;br /&gt;
echo &amp;quot;Starting Bedrock server...&amp;quot;&lt;br /&gt;
sudo systemctl start minecraft-bedrock&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Restore completed!&amp;quot;&lt;br /&gt;
echo &amp;quot;Previous state backed up to: $CURRENT_BACKUP&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Сделайте исполняемым:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo chmod +x /usr/local/bin/bedrock-backup-restore.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Использование:&lt;br /&gt;
&amp;lt;pre&amp;gt;\# Восстановить все&lt;br /&gt;
sudo /usr/local/bin/bedrock-backup-restore.sh 20240101_030000 all&lt;br /&gt;
&lt;br /&gt;
\# Восстановить только миры&lt;br /&gt;
sudo /usr/local/bin/bedrock-backup-restore.sh 20240101_030000 world&lt;br /&gt;
&lt;br /&gt;
\# Восстановить только конфигурацию&lt;br /&gt;
sudo /usr/local/bin/bedrock-backup-restore.sh 20240101_030000 config&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9. Мониторинг бэкапов ==&lt;br /&gt;
&lt;br /&gt;
=== Проверка статуса бэкапов ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте скрипт проверки:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /usr/local/bin/bedrock-backup-status.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Добавьте содержимое:&lt;br /&gt;
&amp;lt;pre&amp;gt;\#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
BACKUP_DIR=&amp;quot;/backup/bedrock&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;=== Bedrock Backup Status ===&amp;quot;&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
\# Последний бэкап&lt;br /&gt;
LAST_BACKUP=$(ls -td &amp;quot;$BACKUP_DIR&amp;quot;/20* 2&amp;gt;/dev/null | head -1)&lt;br /&gt;
if [ -z &amp;quot;$LAST_BACKUP&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;No backups found!&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    LAST_BACKUP_DATE=$(basename &amp;quot;$LAST_BACKUP&amp;quot;)&lt;br /&gt;
    LAST_BACKUP_TIME=$(stat -c %y &amp;quot;$LAST_BACKUP&amp;quot; | cut -d&amp;#039; &amp;#039; -f1,2 | cut -d&amp;#039;.&amp;#039; -f1)&lt;br /&gt;
    LAST_BACKUP_SIZE=$(du -sh &amp;quot;$LAST_BACKUP&amp;quot; | cut -f1)&lt;br /&gt;
    &lt;br /&gt;
    echo &amp;quot;Last backup: $LAST_BACKUP_DATE&amp;quot;&lt;br /&gt;
    echo &amp;quot;Backup time: $LAST_BACKUP_TIME&amp;quot;&lt;br /&gt;
    echo &amp;quot;Backup size: $LAST_BACKUP_SIZE&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
\# Общая статистика&lt;br /&gt;
TOTAL_BACKUPS=$(find &amp;quot;$BACKUP_DIR&amp;quot; -type d -name &amp;quot;20*&amp;quot; | wc -l)&lt;br /&gt;
TOTAL_SIZE=$(du -sh &amp;quot;$BACKUP_DIR&amp;quot; | cut -f1)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Total backups: $TOTAL_BACKUPS&amp;quot;&lt;br /&gt;
echo &amp;quot;Total size: $TOTAL_SIZE&amp;quot;&lt;br /&gt;
echo &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
\# Список всех бэкапов&lt;br /&gt;
echo &amp;quot;All backups:&amp;quot;&lt;br /&gt;
ls -lh &amp;quot;$BACKUP_DIR&amp;quot; | grep &amp;quot;^d&amp;quot; | awk &amp;#039;{print $9, $5, $6, $7, $8}&amp;#039; | head -10&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Сделайте исполняемым:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo chmod +x /usr/local/bin/bedrock-backup-status.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Использование:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo /usr/local/bin/bedrock-backup-status.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 10. Удаленный бэкап (опционально) ===&lt;br /&gt;
&lt;br /&gt;
=== Настройка удаленного бэкапа ===&lt;br /&gt;
&lt;br /&gt;
1. Для бэкапа на другой сервер используйте rsync:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /usr/local/bin/bedrock-backup-remote.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Добавьте содержимое:&lt;br /&gt;
&amp;lt;pre&amp;gt;\#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
REMOTE_HOST=&amp;quot;backup-server.example.com&amp;quot;&lt;br /&gt;
REMOTE_USER=&amp;quot;backup&amp;quot;&lt;br /&gt;
REMOTE_PATH=&amp;quot;/backup/remote/bedrock&amp;quot;&lt;br /&gt;
LOCAL_BACKUP=&amp;quot;/backup/bedrock&amp;quot;&lt;br /&gt;
&lt;br /&gt;
\# Создание локального бэкапа&lt;br /&gt;
/usr/local/bin/bedrock-backup.sh&lt;br /&gt;
&lt;br /&gt;
\# Копирование на удаленный сервер&lt;br /&gt;
LATEST_BACKUP=$(ls -td &amp;quot;$LOCAL_BACKUP&amp;quot;/20* | head -1)&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Copying to remote server...&amp;quot;&lt;br /&gt;
rsync -avz --progress &amp;quot;$LATEST_BACKUP/&amp;quot; \&lt;br /&gt;
    &amp;quot;$REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH/$(basename $LATEST_BACKUP)/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Remote backup completed!&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 11. Устранение неполадок ===&lt;br /&gt;
&lt;br /&gt;
=== Проблемы с бэкапами ===&lt;br /&gt;
&lt;br /&gt;
1. &amp;#039;&amp;#039;&amp;#039;Недостаточно места на диске&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Увеличьте RETENTION_DAYS для более быстрого удаления старых бэкапов&lt;br /&gt;
* Используйте сжатие (gzip уже используется)&lt;br /&gt;
* Переместите бэкапы на отдельный диск&lt;br /&gt;
&lt;br /&gt;
2. &amp;#039;&amp;#039;&amp;#039;Ошибки при создании бэкапа&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Проверьте права доступа к директориям&lt;br /&gt;
* Проверьте логи: &amp;lt;pre&amp;gt;tail -f /var/log/bedrock-backup.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. &amp;#039;&amp;#039;&amp;#039;Сервер не останавливается для бэкапа&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Увеличьте время ожидания в скрипте&lt;br /&gt;
* Используйте принудительную остановку: &amp;lt;pre&amp;gt;sudo systemctl kill minecraft-bedrock&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Заключение ==&lt;br /&gt;
&lt;br /&gt;
Настройка автоматических бэкапов Bedrock сервера на Ubuntu 24.04 обеспечивает надежное сохранение данных. Регулярные бэкапы защитят ваши миры, конфигурацию и дополнения от потери данных.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Для размещения ваших Bedrock серверов с автоматическими бэкапами на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[Выделенные серверы](https://ark-hoster.ru/dedicated/)&amp;#039;&amp;#039;&amp;#039; - для высоконагруженных Bedrock серверов&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[VPS/VDS серверы](https://ark-hoster.ru/vpsgame/)&amp;#039;&amp;#039;&amp;#039; - для небольших и средних серверов&lt;br /&gt;
&lt;br /&gt;
Наши специалисты помогут с настройкой автоматических бэкапов на Bedrock серверах!&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>