<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>логи &#8211; REMADMIN</title>
	<atom:link href="https://remadmin.com/tags/logi/feed/" rel="self" type="application/rss+xml" />
	<link>https://remadmin.com</link>
	<description>Удалённый системный администратор</description>
	<lastBuildDate>Sun, 06 Sep 2026 12:55:16 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>
	<item>
		<title>journald съедает диск: SystemMaxUse, persistent vs volatile и что смотреть overnight</title>
		<link>https://remadmin.com/blog/linux/journald-sedaet-disk-systemmaxuse-persistent-vs-volatile-i-chto-smotret-overnight/</link>
					<comments>https://remadmin.com/blog/linux/journald-sedaet-disk-systemmaxuse-persistent-vs-volatile-i-chto-smotret-overnight/#respond</comments>
		
		<dc:creator><![CDATA[Cursor Blog]]></dc:creator>
		<pubDate>Sun, 06 Sep 2026 12:55:16 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[journald]]></category>
		<category><![CDATA[systemd]]></category>
		<category><![CDATA[VPS]]></category>
		<category><![CDATA[логи]]></category>
		<guid isPermaLink="false">https://remadmin.com/?p=7405</guid>

					<description><![CDATA[На маленьком VPS journald спокойно занимает гигабайты: Storage=auto плюс каталог /var/log/journal и лимит «10% файловой системы». Чем persistent отличается от volatile, как резать SystemMaxUse и что смотреть утром, если ночью диск дошёл до нуля.]]></description>
										<content:encoded><![CDATA[<p>Типичная ночная история на VPS на 20–40 гигабайт. Утром сайт лежит, SSH едва открывается, в логах приложения <code>No space left on device</code>. <code>df -h</code> показывает корневой раздел на 100%. Человек уже почистил <code>/tmp</code>, выкинул старые дампы, даже <code>apt clean</code> сделал — свободно 200 мегабайт, через час снова ноль.</p>
<p>Смотрю <code>du -xhd1 /var</code> и почти всегда в топе <code>/var/log</code>. Внутри него не <code>nginx/access.log</code> на первом месте, а <code>/var/log/journal</code> на гигабайты. Хостер предлагает «расширить диск». Расширять можно, но это не лечение: journald по умолчанию считает нормальным занять десятую часть файловой системы. На маленьком корне это уже не «логи», это треть полезного места.</p>
<p>Ниже — как я отличаю «журнал имеет право быть большим» от «он просто не ограничен», чем persistent отличается от volatile на практике, и что смотреть утром, если ночью диск дошёл до нуля. Без советов вида «поставьте плагин» и без удаления файлов наугад.</p>
<h5>Где journald вообще пишет, и почему каталог внезапно появляется</h5>
<p>У systemd-journald два реальных места на диске (точнее, на диске и в tmpfs):</p>
<ul>
<li><code>/run/log/journal</code> — volatile, живёт в памяти/tmpfs, после ребута пусто.</li>
<li><code>/var/log/journal</code> — persistent, переживает перезагрузку.</li>
</ul>
<p>Режим задаётся в <code>/etc/systemd/journald.conf</code> параметром <code>Storage=</code>. По умолчанию почти везде <code>auto</code>: если каталог <code>/var/log/journal</code> существует — пишем туда и храним между ребутами. Нет каталога — сидим в <code>/run</code>.</p>
<p>Это ловушка, на которую люди наступают сами. На «голом» облачном образе журнал был volatile, места хватало. Кто-то из документации скопировал <code>mkdir -p /var/log/journal</code> «чтобы логи не терялись», перезапустил <code>systemd-journald</code> — и <code>auto</code> молча стал persistent. Лимиты при этом никто не ставил. Через неделю диск красный.</p>
<p>Проверяю так:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">df -h / /var /run
du -sh /var/log/journal /run/log/journal /var/log 2&gt;/dev/null
journalctl --disk-usage
ls -ld /var/log/journal
systemd-analyze cat-config systemd/journald.conf</pre>
<p><code>journalctl --disk-usage</code> говорит, сколько journald сам считает занятым. <code>du</code> — сколько видит файловая система. Если они сильно расходятся, смотрю разреженные файлы и «хвосты» после неудачного vacuum: <code>du -sh --apparent-size /var/log/journal</code> рядом с обычным <code>du -sh</code>.</p>
<h5>Почему «дефолт 10%» на VPS — уже инцидент</h5>
<p>В man у journald это звучит безобидно: <code>SystemMaxUse</code> по умолчанию — около 10% файловой системы, с потолком 4G; <code>SystemKeepFree</code> — около 15% свободными. На корне в 40G это до четырёх гигабайт журнала. На корне в 20G — те же проценты, только больнее.</p>
<p>Четыре гигабайта логов на виртуалке, где сам сайт весит 800 мегабайт, — не «запас на разбор». Это место, которое ночью отъест MySQL, очередь почты или бэкап.</p>
<p>Важная оговорка: лимиты — не жёсткая квота в момент записи каждой строки. Journald ротирует и чистит архивные файлы, когда доходит до порога. Активный <code>system.journal</code> так просто не схлопнется. Если диск уже 100%, vacuum может не стартовать нормально, потому что некуда дописать ротацию. Классический труп: раздел полный, journald не вакуумит, сервисы не пишут, SSH на ключах ещё жив, потому что сессия старая.</p>
<p>Поэтому на маленьком VPS я не оставляю дефолт. Дефолт рассчитан на машину, где <code>/var</code> не равен всему диску, и где гигабайды логов — нормальная цена за историю.</p>
<h5>Persistent vs volatile: это про утро после ребута, не про вкус</h5>
<p>Volatile соблазнительно прост: ребутнул — логи кончились, диск не раздувается. Я так оставляю только там, где журнал всё равно уезжает на внешний syslog и локальная история после ребута не нужна. На обычном VPS с сайтом это почти никогда не тот случай.</p>
<p>Типичный ночной сценарий: в 03:14 гипервизор переехал, ядро поймало OOM, сработал watchdog хостера, или сам <code>systemd</code> ушёл в reboot после failed unit. Утром вам нужен предыдущий бут. Он берётся так:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">journalctl --list-boots
journalctl -b -1 -p err..alert --no-pager
journalctl -b -1 -u ssh -u nginx -u php-fpm -u mysql --no-pager | tail -n 200</pre>
<p>Если <code>Storage=volatile</code>, после ребута <code>-b -1</code> пустой. Вы будете гадать по <code>last reboot</code> и по графику load у хостера. Это не диагностика, это гадание.</p>
<p>Persistent без лимита — другая крайность: история есть, но её некуда писать, потому что диск кончился самой историей.</p>
<p>Рабочая схема на VPS, которую я ставлю почти всегда: persistent, но маленький. История на несколько дней, не на квартал. Внешний syslog — если он уже есть; не вместо локального журнала, а поверх, чтобы переживать смерть самой машины.</p>
<h5>Что смотреть overnight, пока диск ещё не ноль</h5>
<p>Если диск уже 100% — сначала воздух, потом разбор. Если ещё есть 1–2 гигабайта, ночью я смотрю не «красивый dashboard», а четыре вещи.</p>
<p>Первое: это вообще journald или рядом лежит второй обжора. Часто параллельно толстеют <code>/var/log</code> от rsyslog, бинарные логи MySQL, <code>json-file</code> логи Docker. Journald виноватят первым, потому что путь незнакомый.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">du -xhd1 /var /var/log /var/lib 2&gt;/dev/null | sort -h
du -sh /var/lib/docker/containers 2&gt;/dev/null
du -sh /var/lib/mysql 2&gt;/dev/null
ls -lh /var/log/*.log /var/log/syslog /var/log/messages 2&gt;/dev/null</pre>
<p>Второе: журнал вырос за ночь или копился две недели. Смотрю даты файлов и размер активного относительно архивных:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">ls -lhS /var/log/journal/*/* 2&gt;/dev/null | head
journalctl --header | head -n 40</pre>
<p>Архивные файлы с <code>@</code> в имени — уже закрытые куски. Если за ночь вырос один свежий файл на гигабайт — это не «дефолтный 10%», это болтливый юнит. Если лежат десятки старых файлов по 300–400M — это никто никогда не ставил <code>SystemMaxUse</code> и не делал vacuum.</p>
<p>Третье: был ли ребут. <code>journalctl --list-boots</code>, <code>who -b</code>, <code>last -x reboot | head</code>. Если бут ночью был, первым делом <code>journalctl -b -1 -p err</code>, а не сегодняшний хвост. Сегодняшний хвост после ребута начинается с «диска мало» и маскирует причину.</p>
<p>Четвёртое: не забился ли <code>/run</code>. Volatile журнал живёт в tmpfs. На машине с 1–2 гигабайтами RAM <code>/run</code> маленький. Когда он полный, симптомы странные: не стартуют юниты, <code>Failed to create ... No space left</code>, при этом <code>df -h /</code> ещё живой. Смотрю <code>df -h /run</code> отдельно, всегда.</p>
<h5>Кто орёт в журнал: без этого лимит только отодвинет взрыв</h5>
<p>Ограничить размер — обязательно. Но если каждую ночь один сервис пишет сотни тысяч строк, вы просто быстрее упрётесь в потолок и начнёте терять именно те сообщения, которые нужны для разбора.</p>
<p>Счётчик по юнитам за ночь, без jq:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">journalctl --since "6 hours ago" -o json --no-pager | python3 -c '
import sys, json, collections
c = collections.Counter()
for line in sys.stdin:
    try:
        j = json.loads(line)
    except Exception:
        continue
    key = j.get("_SYSTEMD_UNIT") or j.get("SYSLOG_IDENTIFIER") or "?"
    c[key] += 1
for k, v in c.most_common(20):
    print("%8d  %s" % (v, k))
'</pre>
<p>На живой машине это может минуту помолчать — json тяжёлый. Если python3 жалко, грубее по short-формату:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">journalctl --since "6 hours ago" --no-pager | awk '{print $5}' | sed 's/\[.*//' | sort | uniq -c | sort -nr | head</pre>
<p>Пятое поле в short — не священная корова, на неанглийской локали колонки плывут. Для разбора лучше json.</p>
<p>Что обычно оказывается наверху, когда «за ночь съело диск»:</p>
<ul>
<li>systemd-таймер бэкапа с <code>StandardOutput=journal</code> и <code>rsync -v</code> / <code>find</code> на сотни тысяч файлов;</li>
<li>fail2ban + ssh-парольный брут: одна попытка — несколько строк в journal и ещё дубль в auth.log;</li>
<li>PHP/Node в debug, который кто-то включил «на час» в пятницу;</li>
<li>сетевой юнит, который рестартует в цикле и каждый раз пишет stack trace;</li>
<li>ядро и OOM-killer — это уже не болтовня, это авария, её резать лимитом журнала нельзя, её надо читать.</li>
</ul>
<p>Для шумного, но не аварийного юнита правильнее прикрутить его вывод, а не бесконечно растить journal. В unit-файле: <code>StandardOutput=append:/var/log/backup.log</code> плюс logrotate, или убрать <code>-v</code>. RateLimit в journald.conf режет пачку одинаковых сообщений, но на бэкап с уникальными путями в каждой строке он почти не действует: burst исчерпывается, а диск всё равно пишется, пока не упрётся.</p>
<h5>SystemMaxUse и соседние крутилки</h5>
<p>Править лучше drop-in, а не жирный коммент в исходном <code>journald.conf</code>. Так видно, что меняли вы, а не пакет.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">mkdir -p /etc/systemd/journald.conf.d
cat &gt;/etc/systemd/journald.conf.d/size.conf &lt;&lt;'EOF'
[Journal]
Storage=persistent
SystemMaxUse=200M
SystemKeepFree=1G
SystemMaxFileSize=50M
RuntimeMaxUse=50M
MaxRetentionSec=7day
MaxFileSec=1day
Compress=yes
EOF
systemctl restart systemd-journald
journalctl --vacuum-size=200M --vacuum-time=7d
journalctl --disk-usage</pre>
<p>Зачем каждая строка, коротко.</p>
<p><code>Storage=persistent</code> — явно, чтобы не зависеть от «кто-то случайно создал каталог». Каталог после этого должен существовать: <code>mkdir -p /var/log/journal</code>, права оставить journald самому поправить.</p>
<p><code>SystemMaxUse=200M</code> — потолок persistent-журнала. На VPS с сайтом и ssh мне для разбора инцидента обычно хватает десятков–пары сотен мегабайт, не гигабайт. Если это шлюз, с которого разбирают неделю брутфорса по сырым логам — поставьте больше, но цифрой, не дефолтом.</p>
<p><code>SystemKeepFree=1G</code> — не съедать последний гигабайт, даже если MaxUse ещё не достигнут. На маленьком корне это важнее MaxUse: MySQL и очередь почты должны иметь куда писать.</p>
<p><code>SystemMaxFileSize</code> — чтобы один файл не вырос в весь лимит. Vacuum чистит архивные; огромный активный файл неудобно и vacuum, и копировать.</p>
<p><code>RuntimeMaxUse</code> — потолок для <code>/run</code>, чтобы volatile не убил tmpfs.</p>
<p><code>MaxRetentionSec=7day</code> — дефолт по времени почти не режет, живёт размер. Я хочу неделю, не «пока влезает 10% диска». Для разбора overnight недели хватает. Месяц уже про хранение, его лучше делать на syslog-коллекторе, не на корне VPS.</p>
<p>После рестарта journald файлы сами не схлопнутся до новой цифры в ту же секунду. Поэтому сразу <code>--vacuum-size</code> / <code>--vacuum-time</code>. Рестарт журналы не удаляет — это не <code>rm</code>.</p>
<h5>Vacuum — не rm -rf, особенно когда диск уже 100%</h5>
<p>Нормальный путь:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">journalctl --disk-usage
journalctl --vacuum-size=100M
journalctl --vacuum-time=2d
journalctl --verify</pre>
<p><code>--verify</code> иногда находит битый хвост после внезапного отключения питания. Битый файл vacuum может обходить стороной, и место не отдаётся. Тогда смотрю имена в <code>/var/log/journal/&lt;machine-id&gt;/</code> и убираю архивные <code>*@*.journal</code> / <code>*.journal~</code>, не трогая текущий <code>system.journal</code>.</p>
<p>Чего не делаю, пока есть другой выход: <code>rm -rf /var/log/journal/*</code> на живой системе. Один раз из ста это проходит, в остальные journald остаётся с открытыми inode, место не возвращается, а после рестарта вы получаете пустой журнал ровно в тот момент, когда хотели понять, почему диск кончился.</p>
<p>Аварийный порядок, если писать уже некуда:</p>
<ul>
<li>найти и удалить пару самых старых архивных файлов <code>*@*.journal</code> — это даёт воздух;</li>
<li>сразу <code>journalctl --vacuum-size=80M</code>;</li>
<li>поставить drop-in с лимитами и перезапустить journald;</li>
<li>только потом искать болтливый юнит, иначе пока вы читаете json, диск снова забьётся.</li>
</ul>
<p>Сигнал «почистись прямо сейчас» у journald — <code>SIGUSR2</code>. <code>SIGUSR1</code> — сбросить буфер на диск, не vacuum. Путать их бессмысленно, но люди путают.</p>
<h5>Двойной учёт: journald, rsyslog и Docker</h5>
<p>На Debian/Ubuntu часто живы оба мира. journald пишет своё. rsyslog забирает через imjournal или сокет и пишет <code>/var/log/syslog</code>, <code>/var/log/auth.log</code>. Итого одна и та же неудачная попытка SSH лежит дважды. Rate-limit в journald на файлы rsyslog не действует.</p>
<p>Проверяю, не тащим ли мы дубль:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">systemctl is-active rsyslog syslog-ng 2&gt;/dev/null
grep -RInE 'imjournal|imuxsock|ForwardToSyslog' /etc/rsyslog.conf /etc/rsyslog.d /etc/systemd/journald.conf /etc/systemd/journald.conf.d 2&gt;/dev/null
du -sh /var/log/journal /var/log/syslog /var/log/auth.log 2&gt;/dev/null</pre>
<p><code>ForwardToSyslog=yes</code> плюс persistent journald — сознательное удвоение. Имеет смысл, если внешний разбор завязан на syslog-файлы, а journal вы хотите маленьким. Не имеет смысла, если никто эти файлы не читает, а logrotate на syslog стоит «weekly, rotate 8» и молча держит ещё сотни мегабайт.</p>
<p>Docker — отдельная яма. <code>json-file</code> драйвер пишет в <code>/var/lib/docker/containers/.../*.log</code>, это не journald. Человек чистит journal, диск не отходит, начинается шаманство. Если в <code>du</code> победил docker — лимиты в <code>daemon.json</code> (<code>log-opts max-size</code>), не в journald.conf. Путь другой, болезнь похожая.</p>
<h5>Что я реально оставляю на маленьком VPS</h5>
<p>Для обычного сайта (nginx, php-fpm, mysql, ssh) на одном диске:</p>
<ul>
<li>persistent, 150–300M потолок, неделя хранения;</li>
<li><code>/run</code> ограничен десятками мегабайт;</li>
<li>таймеры бэкапа не пишут verbose в journal;</li>
<li>если rsyslog нужен файлами для fail2ban — пусть живёт, но logrotate жёсткий, не дефолтный weekly на 100M файлах;</li>
<li>внешний syslog — когда машин больше двух или когда хочется историю длиннее недели.</li>
</ul>
<p>Volatile я ставлю на одноразовые тестовые машины и на те VPS, где журнал и так уезжает агентом, а локальный диск маленький и ребут не является загадкой.</p>
<p>И я не храню journal как бэкап логов. Это кольцевой буфер для разбора. Если лог должен жить три месяца «по требованиям», ему место не в <code>/var/log/journal</code> на корне.</p>
<h5>Утренний чеклист, если ночью диск снова опух</h5>
<p>Короткий порядок, которым я хожу, чтобы не начать не с того конца:</p>
<ul>
<li><code>df -h / /run /var</code> — какой именно раздел, не «диск вообще»;</li>
<li><code>du -xhd1 /var</code> — journal это или mysql/docker/бэкап;</li>
<li>воздух: vacuum или пара архивных файлов, не apt и не <code>/tmp</code>;</li>
<li><code>journalctl --list-boots</code> и при ночном ребуте сразу <code>-b -1 -p err</code>;</li>
<li>счётчик юнитов за ночь — кто писал, не «сколько процентов в SystemMaxUse»;</li>
<li>drop-in с <code>SystemMaxUse</code> / <code>SystemKeepFree</code>, vacuum до новой цифры;</li>
<li>проверка, что через час <code>journalctl --disk-usage</code> не ползёт обратно с той же скоростью.</li>
</ul>
<p>Если после лимита журнал упирается в потолок каждые несколько часов — лимит сработал, но источник шума жив. Тогда это уже не настройка journald, а разбор конкретного юнита. Крутить <code>SystemMaxUse</code> вверх, «чтобы влезало», на маленьком VPS я не соглашаюсь: вы просто вернёте ту же заявку через неделю, только с более толстым журналом и снова нулём на диске.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://remadmin.com/blog/linux/journald-sedaet-disk-systemmaxuse-persistent-vs-volatile-i-chto-smotret-overnight/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Логирование POST запросов к сайту</title>
		<link>https://remadmin.com/blog/vebmasteru/logirovanie-post-zaprosov-k-sajtu/</link>
					<comments>https://remadmin.com/blog/vebmasteru/logirovanie-post-zaprosov-k-sajtu/#respond</comments>
		
		<dc:creator><![CDATA[REMADMIN]]></dc:creator>
		<pubDate>Sun, 19 Feb 2023 18:28:03 +0000</pubDate>
				<category><![CDATA[Вебмастеру]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[логи]]></category>
		<guid isPermaLink="false">https://remadmin.com/?p=7170</guid>

					<description><![CDATA[Довольно часто возникают ситуации, когда обычных логов, которые пишет вебсервер, бывает недостаточно. Например ваш сайт взломали, и вы изучаете логи вебсервера с целью нахождения уязвимости вашего сайта. Если точное время взлома известно, то скорее всего в логах вы найдёте скрипт или файл, к которому обращались с POST запросом. Но проблема в том, что вы увидите [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Довольно часто возникают ситуации, когда обычных логов, которые пишет вебсервер, бывает недостаточно. Например ваш сайт взломали, и вы изучаете логи вебсервера с целью нахождения уязвимости вашего сайта. Если точное время взлома известно, то скорее всего в логах вы найдёте скрипт или файл, к которому обращались с POST запросом. Но проблема в том, что вы увидите в логах только файл, а что именно ему передали, видно, к сожалению, не будет. Да и точное время взлома довольно редко известно, поэтому обычно найти дыру на сайте, через которую его взломали, очень непросто.</p>
<p>Поэтому я предлагаю использовать на вашем сайте небольшой скрипт, задачей которого и будет логирование POST запросов. В логе будет подробная информация о том кто, когда, куда и что передал методом POST. Даже не зная примерного времени взлома, заглянув в этот файл лога, вы без труда найдёте в нём информацию о дыре в вашем сайте.</p>
<p>Скрипт можно использовать абсолютно на любом сайте, построенном на любом движке и практически на любом хостинге.</p>
<p>Логированием будет заниматься обычный php скрипт. Его содержимое:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?
if(isset($_POST) &amp;&amp; count($_POST)&gt;0){
        $data="";
        foreach($_POST as $key=&gt;$val){
                if(is_string($val) &amp;&amp; strlen($val)&gt;2000 )
                        $val=substr($val,0,2000);
                $data.=$key."=&gt;".$val."\n";
        }
        //вместо /home/user/data/www/ указываем свой путь от корня сервера, куда должен писаться лог
        $fp=fopen("/home/user/data/www/".$_SERVER['HTTP_HOST'].".log","a");
        fwrite($fp,date("Y-m-d H:i:s")." ".$_SERVER['REMOTE_ADDR']."\n".$data."---------------------------\n");
        fclose($fp);
        $data="";
        reset($_POST);
}
?&gt;</pre>
<p>Сохраните его как php файл, исправьте в нём путь от корня вашего сервера до папки, в которую вы хотите, чтобы писался лог (папка должна быть доступна на запись вебсерверу), и загрузите этот файл под любым именем (например log.php) на ваш сайт в любое место, можно в корень.</p>
<p>Далее необходимо в файле .htaccess (если его нет, то можно создать) прописать такую строку:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="htaccess">php_value auto_prepend_file /home/user/data/www/site.ru/log.php</pre>
<p>где изменить путь и название файла на своё собственное.</p>
<p>После этого при первом же POST запросе к вашему сайту создастся файл лога в той директории, которую вы указали в скрипте, и в него в удобочитаемом виде будет писаться всё содержимое POST запросов к вашему сайту.</p>
<blockquote><p><strong>ВНИМАНИЕ!</strong> Файл лога ни в коем случае не пишите в корень вашего сайта. В логе будут содержаться логины и пароли пользователей, которые они будут вводить при авторизации на вашем сайте, и в том числе и ваши логины/пароли, которые попадут в него при вашей авторизации в админке сайта (ведь это тоже передаётся POST запросом). Поэтому файл лога лучше всего писать в директорию, не доступную из веба, то есть например, в ту, которая находится выше корневой директории вашего сайта.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://remadmin.com/blog/vebmasteru/logirovanie-post-zaprosov-k-sajtu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>