<?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_%D1%80%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D0%B8_%D0%BB%D0%BE%D0%B3%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_%D1%80%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D0%B8_%D0%BB%D0%BE%D0%B3%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_%D1%80%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D0%B8_%D0%BB%D0%BE%D0%B3%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:00:29Z</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_%D1%80%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D0%B8_%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2_Bedrock_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&amp;diff=1589&amp;oldid=prev</id>
		<title>Admin: Новая страница: «= Настройка ротации логов Bedrock сервера =  == 1. Подготовка ==  * Убедитесь, что Bedrock сервер уста…»</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_%D1%80%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D0%B8_%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2_Bedrock_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0&amp;diff=1589&amp;oldid=prev"/>
		<updated>2025-11-03T10:20:21Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «= Настройка ротации логов Bedrock сервера =  == 1. Подготовка ==  * Убедитесь, что Bedrock сервер уста…»&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;
* Убедитесь, что Bedrock сервер установлен и работает.&lt;br /&gt;
* Имейте права доступа для настройки logrotate и работы с логами.&lt;br /&gt;
* Рекомендуется использовать Ubuntu 24.04 LTS.&lt;br /&gt;
* Проверьте текущее расположение логов: `/opt/bedrock/logs/`&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;cd /opt/bedrock&lt;br /&gt;
ls -lah logs/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Типичные файлы логов:&lt;br /&gt;
&amp;lt;pre&amp;gt;logs/&lt;br /&gt;
├── latest.log&lt;br /&gt;
├── content-log-*.log&lt;br /&gt;
└── crash-reports/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Размер логов:&lt;br /&gt;
&amp;lt;pre&amp;gt;du -sh logs/&lt;br /&gt;
du -h logs/*.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. Настройка logrotate ==&lt;br /&gt;
&lt;br /&gt;
=== Создание конфигурации ===&lt;br /&gt;
&lt;br /&gt;
1. Создайте файл конфигурации:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/logrotate.d/bedrock&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Добавьте конфигурацию:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/bedrock/logs/*.log {&lt;br /&gt;
    daily&lt;br /&gt;
    missingok&lt;br /&gt;
    rotate 7&lt;br /&gt;
    compress&lt;br /&gt;
    delaycompress&lt;br /&gt;
    notifempty&lt;br /&gt;
    create 0644 bedrock bedrock&lt;br /&gt;
    sharedscripts&lt;br /&gt;
    postrotate&lt;br /&gt;
        systemctl reload minecraft-bedrock &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 || true&lt;br /&gt;
    endscript&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Проверьте синтаксис:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo logrotate -d /etc/logrotate.d/bedrock&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Параметры logrotate ===&lt;br /&gt;
&lt;br /&gt;
1. &amp;#039;&amp;#039;&amp;#039;daily&amp;#039;&amp;#039;&amp;#039; - ротация каждый день&lt;br /&gt;
2. &amp;#039;&amp;#039;&amp;#039;weekly&amp;#039;&amp;#039;&amp;#039; - ротация раз в неделю&lt;br /&gt;
3. &amp;#039;&amp;#039;&amp;#039;monthly&amp;#039;&amp;#039;&amp;#039; - ротация раз в месяц&lt;br /&gt;
4. &amp;#039;&amp;#039;&amp;#039;rotate N&amp;#039;&amp;#039;&amp;#039; - количество сохраняемых файлов&lt;br /&gt;
5. &amp;#039;&amp;#039;&amp;#039;compress&amp;#039;&amp;#039;&amp;#039; - сжатие старых логов&lt;br /&gt;
6. &amp;#039;&amp;#039;&amp;#039;delaycompress&amp;#039;&amp;#039;&amp;#039; - сжатие не сразу&lt;br /&gt;
7. &amp;#039;&amp;#039;&amp;#039;notifempty&amp;#039;&amp;#039;&amp;#039; - не ротировать пустые файлы&lt;br /&gt;
8. &amp;#039;&amp;#039;&amp;#039;create&amp;#039;&amp;#039;&amp;#039; - создавать новые файлы с указанными правами&lt;br /&gt;
&lt;br /&gt;
=== Примеры конфигураций ===&lt;br /&gt;
&lt;br /&gt;
1. &amp;#039;&amp;#039;&amp;#039;Ежедневная ротация с сохранением 14 дней&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/bedrock/logs/*.log {&lt;br /&gt;
    daily&lt;br /&gt;
    missingok&lt;br /&gt;
    rotate 14&lt;br /&gt;
    compress&lt;br /&gt;
    delaycompress&lt;br /&gt;
    notifempty&lt;br /&gt;
    create 0644 bedrock bedrock&lt;br /&gt;
    sharedscripts&lt;br /&gt;
    postrotate&lt;br /&gt;
        systemctl reload minecraft-bedrock &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 || true&lt;br /&gt;
    endscript&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. &amp;#039;&amp;#039;&amp;#039;Еженедельная ротация с сохранением 4 недель&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/bedrock/logs/*.log {&lt;br /&gt;
    weekly&lt;br /&gt;
    missingok&lt;br /&gt;
    rotate 4&lt;br /&gt;
    compress&lt;br /&gt;
    delaycompress&lt;br /&gt;
    notifempty&lt;br /&gt;
    create 0644 bedrock bedrock&lt;br /&gt;
    sharedscripts&lt;br /&gt;
    postrotate&lt;br /&gt;
        systemctl reload minecraft-bedrock &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 || true&lt;br /&gt;
    endscript&lt;br /&gt;
}&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;
&amp;lt;pre&amp;gt;/opt/bedrock/logs/*.log {&lt;br /&gt;
    daily&lt;br /&gt;
    missingok&lt;br /&gt;
    rotate 30&lt;br /&gt;
    compress&lt;br /&gt;
    delaycompress&lt;br /&gt;
    notifempty&lt;br /&gt;
    create 0644 bedrock bedrock&lt;br /&gt;
    sharedscripts&lt;br /&gt;
    postrotate&lt;br /&gt;
        systemctl reload minecraft-bedrock &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 || true&lt;br /&gt;
        rsync -av /opt/bedrock/logs/*.gz backup-server:/backup/bedrock-logs/ || true&lt;br /&gt;
    endscript&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-log-rotate.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;
LOG_DIR=&amp;quot;/opt/bedrock/logs&amp;quot;&lt;br /&gt;
DATE=$(date +%Y%m%d_%H%M%S)&lt;br /&gt;
BACKUP_DIR=&amp;quot;/backup/bedrock-logs&amp;quot;&lt;br /&gt;
RETENTION_DAYS=30&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;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
log_message &amp;quot;Starting log rotation...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
\# Создание директории для бэкапов&lt;br /&gt;
mkdir -p &amp;quot;$BACKUP_DIR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
\# Ротация latest.log&lt;br /&gt;
if [ -f &amp;quot;$LOG_DIR/latest.log&amp;quot; ]; then&lt;br /&gt;
    LOG_SIZE=$(stat -f%z &amp;quot;$LOG_DIR/latest.log&amp;quot; 2&amp;gt;/dev/null || stat -c%s &amp;quot;$LOG_DIR/latest.log&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    \# Ротация если файл больше 100MB&lt;br /&gt;
    if [ &amp;quot;$LOG_SIZE&amp;quot; -gt 104857600 ]; then&lt;br /&gt;
        log_message &amp;quot;Rotating latest.log (size: $(du -h &amp;quot;$LOG_DIR/latest.log&amp;quot; | cut -f1))&amp;quot;&lt;br /&gt;
        &lt;br /&gt;
        \# Архивирование&lt;br /&gt;
        gzip -c &amp;quot;$LOG_DIR/latest.log&amp;quot; &amp;gt; &amp;quot;$BACKUP_DIR/latest-$DATE.log.gz&amp;quot;&lt;br /&gt;
        &lt;br /&gt;
        \# Очистка текущего лога&lt;br /&gt;
        &amp;gt; &amp;quot;$LOG_DIR/latest.log&amp;quot;&lt;br /&gt;
        &lt;br /&gt;
        \# Перезагрузка сервиса для создания нового лога&lt;br /&gt;
        systemctl reload minecraft-bedrock 2&amp;gt;/dev/null || true&lt;br /&gt;
        &lt;br /&gt;
        log_message &amp;quot;latest.log rotated successfully&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        log_message &amp;quot;latest.log size OK: $(du -h &amp;quot;$LOG_DIR/latest.log&amp;quot; | cut -f1)&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
\# Ротация других логов&lt;br /&gt;
for log_file in &amp;quot;$LOG_DIR&amp;quot;/*.log; do&lt;br /&gt;
    if [ -f &amp;quot;$log_file&amp;quot; ] &amp;amp;&amp;amp; [ &amp;quot;$(basename &amp;quot;$log_file&amp;quot;)&amp;quot; != &amp;quot;latest.log&amp;quot; ]; then&lt;br /&gt;
        FILE_SIZE=$(stat -f%z &amp;quot;$log_file&amp;quot; 2&amp;gt;/dev/null || stat -c%s &amp;quot;$log_file&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        if [ &amp;quot;$FILE_SIZE&amp;quot; -gt 52428800 ]; then&lt;br /&gt;
            log_message &amp;quot;Rotating $(basename &amp;quot;$log_file&amp;quot;)&amp;quot;&lt;br /&gt;
            &lt;br /&gt;
            gzip -c &amp;quot;$log_file&amp;quot; &amp;gt; &amp;quot;$BACKUP_DIR/$(basename &amp;quot;$log_file&amp;quot;)-$DATE.gz&amp;quot;&lt;br /&gt;
            &amp;gt; &amp;quot;$log_file&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
    fi&lt;br /&gt;
done&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; -name &amp;quot;*.gz&amp;quot; -mtime +$RETENTION_DAYS -delete&lt;br /&gt;
&lt;br /&gt;
\# Подсчет&lt;br /&gt;
BACKUP_COUNT=$(find &amp;quot;$BACKUP_DIR&amp;quot; -name &amp;quot;*.gz&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;Rotation completed. Backups: $BACKUP_COUNT, Total size: $TOTAL_SIZE&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-log-rotate.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-log-rotate.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. Ежедневная ротация в 2:00:&lt;br /&gt;
&amp;lt;pre&amp;gt;0 2 * * * /usr/local/bin/bedrock-log-rotate.sh &amp;gt;&amp;gt; /var/log/bedrock-logrotate.log 2&amp;gt;&amp;amp;1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Ротация каждые 6 часов:&lt;br /&gt;
&amp;lt;pre&amp;gt;0 */6 * * * /usr/local/bin/bedrock-log-rotate.sh &amp;gt;&amp;gt; /var/log/bedrock-logrotate.log 2&amp;gt;&amp;amp;1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Через logrotate ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте запуск logrotate:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo logrotate -f /etc/logrotate.d/bedrock&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Автоматический запуск через systemd timer (если нужно):&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo systemctl enable logrotate.timer&lt;br /&gt;
sudo systemctl start logrotate.timer&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. Ротация crash-reports ==&lt;br /&gt;
&lt;br /&gt;
=== Настройка ротации отчетов о крашах ===&lt;br /&gt;
&lt;br /&gt;
1. Добавьте в logrotate:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/logrotate.d/bedrock-crash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Добавьте конфигурацию:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/bedrock/crash-reports/*.txt {&lt;br /&gt;
    weekly&lt;br /&gt;
    missingok&lt;br /&gt;
    rotate 4&lt;br /&gt;
    compress&lt;br /&gt;
    delaycompress&lt;br /&gt;
    notifempty&lt;br /&gt;
    create 0644 bedrock bedrock&lt;br /&gt;
}&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-log-monitor.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;
LOG_DIR=&amp;quot;/opt/bedrock/logs&amp;quot;&lt;br /&gt;
WARNING_SIZE=1073741824&lt;br /&gt;
CRITICAL_SIZE=2147483648&lt;br /&gt;
&lt;br /&gt;
check_log_size() {&lt;br /&gt;
    local file=&amp;quot;$1&amp;quot;&lt;br /&gt;
    local size=$(stat -f%z &amp;quot;$file&amp;quot; 2&amp;gt;/dev/null || stat -c%s &amp;quot;$file&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    if [ &amp;quot;$size&amp;quot; -gt &amp;quot;$CRITICAL_SIZE&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;CRITICAL: $file is $(du -h &amp;quot;$file&amp;quot; | cut -f1) - immediate rotation needed!&amp;quot;&lt;br /&gt;
        return 2&lt;br /&gt;
    elif [ &amp;quot;$size&amp;quot; -gt &amp;quot;$WARNING_SIZE&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;WARNING: $file is $(du -h &amp;quot;$file&amp;quot; | cut -f1) - consider rotation&amp;quot;&lt;br /&gt;
        return 1&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;OK: $file is $(du -h &amp;quot;$file&amp;quot; | cut -f1)&amp;quot;&lt;br /&gt;
        return 0&lt;br /&gt;
    fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
\# Проверка всех логов&lt;br /&gt;
for log_file in &amp;quot;$LOG_DIR&amp;quot;/*.log; do&lt;br /&gt;
    if [ -f &amp;quot;$log_file&amp;quot; ]; then&lt;br /&gt;
        check_log_size &amp;quot;$log_file&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
\# Общий размер&lt;br /&gt;
TOTAL_SIZE=$(du -sh &amp;quot;$LOG_DIR&amp;quot; | cut -f1)&lt;br /&gt;
echo &amp;quot;Total logs size: $TOTAL_SIZE&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-log-monitor.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Добавьте в cron (каждый час):&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 * * * * /usr/local/bin/bedrock-log-monitor.sh &amp;gt;&amp;gt; /var/log/bedrock-log-monitor.log 2&amp;gt;&amp;amp;1&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-log-archive.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;
LOG_DIR=&amp;quot;/opt/bedrock/logs&amp;quot;&lt;br /&gt;
ARCHIVE_DIR=&amp;quot;/backup/bedrock-logs-archive&amp;quot;&lt;br /&gt;
DATE=$(date +%Y%m%d)&lt;br /&gt;
RETENTION_MONTHS=6&lt;br /&gt;
&lt;br /&gt;
mkdir -p &amp;quot;$ARCHIVE_DIR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
\# Архивация за предыдущий месяц&lt;br /&gt;
LAST_MONTH=$(date -d &amp;quot;last month&amp;quot; +%Y%m)&lt;br /&gt;
ARCHIVE_FILE=&amp;quot;$ARCHIVE_DIR/logs-$LAST_MONTH.tar.gz&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ ! -f &amp;quot;$ARCHIVE_FILE&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Creating archive for $LAST_MONTH...&amp;quot;&lt;br /&gt;
    tar -czf &amp;quot;$ARCHIVE_FILE&amp;quot; -C &amp;quot;$LOG_DIR&amp;quot; \&lt;br /&gt;
        --exclude=&amp;quot;latest.log&amp;quot; \&lt;br /&gt;
        *.log.gz *.log 2&amp;gt;/dev/null&lt;br /&gt;
    &lt;br /&gt;
    echo &amp;quot;Archive created: $ARCHIVE_FILE&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    \# Удаление заархивированных файлов&lt;br /&gt;
    find &amp;quot;$LOG_DIR&amp;quot; -name &amp;quot;*.log.gz&amp;quot; -mtime +30 -delete&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
\# Удаление старых архивов&lt;br /&gt;
find &amp;quot;$ARCHIVE_DIR&amp;quot; -name &amp;quot;*.tar.gz&amp;quot; -mtime +$((RETENTION_MONTHS * 30)) -delete&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Archiving 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-log-archive.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Добавьте в cron (ежемесячно):&lt;br /&gt;
&amp;lt;pre&amp;gt;0 3 1 * * /usr/local/bin/bedrock-log-archive.sh&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;zcat /backup/bedrock-logs/latest-20240101.log.gz | tail -50&lt;br /&gt;
zless /backup/bedrock-logs/latest-20240101.log.gz&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Поиск в сжатых логах:&lt;br /&gt;
&amp;lt;pre&amp;gt;zgrep -i &amp;quot;error&amp;quot; /backup/bedrock-logs/*.gz&lt;br /&gt;
zgrep -i &amp;quot;player.*connected&amp;quot; /backup/bedrock-logs/*.gz&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Распаковка для детального анализа:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /tmp&lt;br /&gt;
zcat /backup/bedrock-logs/latest-20240101.log.gz &amp;gt; latest-20240101.log&lt;br /&gt;
grep -i &amp;quot;error&amp;quot; latest-20240101.log&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 10. Интеграция с системным логированием ===&lt;br /&gt;
&lt;br /&gt;
=== Перенаправление в journald ===&lt;br /&gt;
&lt;br /&gt;
1. Настройка systemd для логирования:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo nano /etc/systemd/system/minecraft-bedrock.service&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Добавьте настройки логирования:&lt;br /&gt;
&amp;lt;pre&amp;gt;[Service]&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
StandardError=journal&lt;br /&gt;
SyslogIdentifier=minecraft-bedrock&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Просмотр логов через journalctl:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo journalctl -u minecraft-bedrock -f&lt;br /&gt;
sudo journalctl -u minecraft-bedrock --since &amp;quot;1 hour ago&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;
* Проверьте права доступа к файлам&lt;br /&gt;
* Проверьте синтаксис logrotate: &amp;lt;pre&amp;gt;sudo logrotate -d /etc/logrotate.d/bedrock&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Запустите вручную: &amp;lt;pre&amp;gt;sudo logrotate -f /etc/logrotate.d/bedrock&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. &amp;#039;&amp;#039;&amp;#039;Логи растут слишком быстро&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Уменьшите период ротации (daily → hourly для очень активных серверов)&lt;br /&gt;
* Проверьте настройки логирования в server.properties&lt;br /&gt;
* Рассмотрите отключение content-log-file-enabled&lt;br /&gt;
&lt;br /&gt;
3. &amp;#039;&amp;#039;&amp;#039;Недостаточно места на диске&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* Уменьшите RETENTION_DAYS&lt;br /&gt;
* Увеличьте сжатие (compress)&lt;br /&gt;
* Переместите архивы на другой диск&lt;br /&gt;
&lt;br /&gt;
== Заключение ==&lt;br /&gt;
&lt;br /&gt;
Настройка ротации логов Bedrock сервера обеспечивает эффективное управление логами и предотвращает заполнение диска. Правильная конфигурация logrotate и автоматическая ротация сохранят место на диске и упростят анализ логов.&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>