<?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>cron &#8211; REMADMIN</title>
	<atom:link href="https://remadmin.com/tags/cron/feed/" rel="self" type="application/rss+xml" />
	<link>https://remadmin.com</link>
	<description>Удалённый системный администратор</description>
	<lastBuildDate>Sat, 24 Feb 2024 11:58:42 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>
	<item>
		<title>Руководство по работе с планировщиком задач cron</title>
		<link>https://remadmin.com/blog/linux/rukovodstvo-po-rabote-s-planirovshhikom-zadach-cron/</link>
					<comments>https://remadmin.com/blog/linux/rukovodstvo-po-rabote-s-planirovshhikom-zadach-cron/#respond</comments>
		
		<dc:creator><![CDATA[REMADMIN]]></dc:creator>
		<pubDate>Mon, 26 Feb 2024 11:57:07 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[шпаргалка]]></category>
		<guid isPermaLink="false">https://remadmin.com/?p=7298</guid>

					<description><![CDATA[Linux, как операционная система, предоставляет множество инструментов для автоматизации различных задач. Один из таких инструментов — планировщик задач cron. В этой статье мы рассмотрим, как эффективно использовать планировщик в Linux для автоматизации рутинных операций. Что такое cron? Cron — это стандартный инструмент в Unix-подобных системах, предназначенный для выполнения задач в установленное время или периодически. Он [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Linux, как операционная система, предоставляет множество инструментов для автоматизации различных задач. Один из таких инструментов — планировщик задач cron. В этой статье мы рассмотрим, как эффективно использовать планировщик в Linux для автоматизации рутинных операций.</p>
<h5>Что такое cron?</h5>
<p>Cron — это стандартный инструмент в Unix-подобных системах, предназначенный для выполнения задач в установленное время или периодически. Он основан на файлах cron, в которых определены задания и их расписание. Эти файлы хранятся в каталоге <strong>/etc/cron.d/</strong> или <strong>/var/spool/cron/</strong> и обычно недоступны для редактирования напрямую.</p>
<h5>Работа с cron</h5>
<h6>Создание и редактирование cron-задач</h6>
<p>Для создания новой задачи, или редактирования существующих, используется команда:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">crontab -e</pre>
<p>Она открывает текстовый редактор, в котором можно определить расписание и команду для выполнения. Например, чтобы запустить скрипт &#8220;myscript.sh&#8221; каждый день в 2 часа ночи, добавьте следующую строку:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">0 2 * * * /путь/к/скрипту/myscript.sh</pre>
<p>Редактировать команды другого пользователя можно так:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">sudo crontab -u username -e</pre>
<h6>Листинг задач</h6>
<p>Список текущих cron-задач можно просмотреть с помощью команды:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">crontab -l</pre>
<p>Это полезно для проверки текущего расписания и быстрого определения того, что уже настроено.</p>
<p>Вывести задачи другого пользователя можно так:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">sudo crontab -u username -l</pre>
<h6>Удаление задач</h6>
<p>Эта команда удаляет все cron-задачи пользователя:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">crontab -r</pre>
<p>Если необходимо удалить конкретную задачу, используйте:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">crontab -l</pre>
<p>чтобы увидеть ее номер, а затем:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">crontab -r номер</pre>
<h5>Вывод результата в лог-файл</h5>
<p>Для записи результатов выполнения задачи в лог-файл, вы можете использовать перенаправление стандартного вывода и стандартной ошибки в файл прямо внутри команды cron. Вот пример:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">* * * * * /путь/к/вашему/скрипту.sh &gt;&gt; /путь/к/лог-файлу.log 2&gt;&amp;1</pre>
<p>Здесь <strong>&gt;&gt;</strong> используется для добавления вывода в конец файла, <strong>2&gt;&amp;1</strong> перенаправляет стандартные ошибки в стандартный вывод, чтобы они также попадали в лог-файл.</p>
<h5>Указание времени выполнения задач</h5>
<p>В планировщике задач cron в Linux время выполнения задач задается в виде пяти полей, каждый из которых представляет собой определенный аспект времени. Эти поля определяют минуты, часы, дни месяца, месяцы и дни недели. Вот структура этих полей:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">* * * * *
- - - - -
| | | | |
| | | | +----- День недели (0 - воскресенье, 1 - понедельник, ..., 6 - суббота)
| | | +------- Месяц (1 - январь, 2 - февраль, ..., 12 - декабрь)
| | +--------- День месяца (1 - 31)
| +----------- Час (0 - 23)
+------------- Минуты (0 - 59)</pre>
<p>Каждое поле может принимать определенные значения или диапазоны значений, а также знаки &#8220;*&#8221; (звездочка) и &#8220;/&#8221; (косая черта).</p>
<ul>
<li><code>*</code>: Означает &#8220;каждый&#8221;. Например, если в поле минут стоит &#8220;*&#8221;, это означает, что задача будет выполняться каждую минуту.</li>
<li><code>число</code>: Определенное значение. Например, если в поле часов стоит &#8220;3&#8221;, задача будет выполняться в 3 часа.</li>
<li><code>число-число</code>: Диапазон значений. Например, &#8220;1-5&#8221; в поле дней недели означает с понедельника по пятницу.</li>
<li><code>*/число</code>: Каждый определенный интервал. Например, &#8220;*/15&#8221; в поле минут означает каждые 15 минут.</li>
</ul>
<h6>Примеры:</h6>
<p>Запуск задачи каждый день в 3 часа утра:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">0 3 * * *</pre>
<p>Запуск задачи каждый понедельник и среду в 12:30:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">30 12 * * 1,3</pre>
<p>Запуск задачи каждый час:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">0 * * * *</pre>
<p>Запуск задачи каждый день в 5 утра и 8 вечера:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">0 5,20 * * *</pre>
<p>Таким образом, правильное указание времени выполнения задачи в cron позволяет вам гибко управлять ее расписанием, с учетом требований вашего проекта или системы.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://remadmin.com/blog/linux/rukovodstvo-po-rabote-s-planirovshhikom-zadach-cron/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Exim &#8211; мониторинг почтовой очереди для выявления исходящего спама</title>
		<link>https://remadmin.com/blog/linux/monitoring-exim-spam/</link>
					<comments>https://remadmin.com/blog/linux/monitoring-exim-spam/#respond</comments>
		
		<dc:creator><![CDATA[REMADMIN]]></dc:creator>
		<pubDate>Sun, 05 Mar 2023 11:09:29 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[exim]]></category>
		<category><![CDATA[спам]]></category>
		<guid isPermaLink="false">https://remadmin.com/?p=7192</guid>

					<description><![CDATA[Очень часто случается так, что на сервере присутствуют сайты с неактуальными версиями ПО, которые взламываются, через них на сервер заливаются специальные файлы, через которые злоумышленники начинают массово рассылать спам. Эта проблема довольно серьёзная, так как ip адрес сервера после такой рассылки обычно попадает в различные &#8220;чёрные списки&#8221;, из-за чего и легитимную почту с сервера перестают [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Очень часто случается так, что на сервере присутствуют сайты с неактуальными версиями ПО, которые взламываются, через них на сервер заливаются специальные файлы, через которые злоумышленники начинают массово рассылать спам.<span id="more-7192"></span></p>
<p>Эта проблема довольно серьёзная, так как ip адрес сервера после такой рассылки обычно попадает в различные &#8220;чёрные списки&#8221;, из-за чего и легитимную почту с сервера перестают принимать многие почтовые сервисы. И удалить ip из этих &#8220;чёрных списков&#8221; не всегда просто. К тому же за рассылку спама сервер может быть заблокирован хостером или дата-центром.</p>
<p>Данный метод мониторинга основан на том, что обычно при массовой рассылке почты с сервера, существенно возрастает количество исходящих писем в почтовой очереди exim. Конечно он не совсем сгодится для серверов, на которых размещается множество клиентов виртуального хостинга, где желательно использовать более точные системы мониторинга, анализирующие содержание самих писем. Но для сервера с небольшим количеством сайтов, где их поведение, и рассылки с них заведомо известны, вполне подходит.</p>
<p>Для начала рекомендую посмотреть, сколько в данный момент сообщений в почтовой очереди exim. Сделать это можно командой:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">exim -bpc</pre>
<p>Если их там много, стоит проанализировать их содержимое, и выявить причину, почему они находятся в почтовой очереди. Команды, которые вам помогут в этом, можно найти в <a href="https://remadmin.com/blog/linux/shpargalka-po-komandam-exim/" target="_blank" rel="noopener">этой статье</a>.</p>
<h5>Пишем скрипт мониторинга почтовой очереди exim</h5>
<p>В этом примере администратор получит уведомление на почту, если число писем в почтовой очереди больше 100. Если у вас обычно там больше писем, увеличьте это значение. К тому же к письму будет прикреплён файл с выводом последних 50 строк команды, отображающей почтовую очередь</p>
<pre class="EnlighterJSRAW" data-enlighter-language="bash">#!/bin/bash

# Проверяем количество писем в очереди
queue_count=$(exim -bpc)

# Если писем больше 100, отправляем уведомление на почту
if [ $queue_count -gt 100 ]; then
    # Получаем список последних писем в очереди
    queue_list=$(exim -bp | tail -n 50)
    
    # Создаем временный файл для сохранения списка писем
    temp_file=$(mktemp)
    echo "$queue_list" &gt; $temp_file
    
    # Отправляем письмо администратору с вложенным файлом
    echo "Количество писем в очереди превышает 100. Проверьте состояние очереди." | mail -s "Важное уведомление: очередь exim" -a $temp_file admin@site.com
    
    # Удаляем временный файл
    rm $temp_file
fi
</pre>
<p>Сохраняем этот скрипт в файл, например с именем <strong>exim-check.sh</strong> в папке <strong>/opt/</strong>, меняем в нём почту администратора, и даём ему права на выполнение:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">chmod +x /opt/exim-check.sh</pre>
<h5>Проверяем работоспособность скрипта</h5>
<p>Дальше рекомендую временно изменить в скрипте количество сообщений, при которых произойдёт отправка уведомления, на число, меньшее, чем находится писем в данный момент в почтовой очереди. Так мы сможем проверить работоспособность уведомлений. Для проверки просто выполните этот скрипт в консоли:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">/opt/exim-check.sh</pre>
<p>Если не получили письмо с уведомлением, возможно на сервере не установлен <strong>mailx</strong>. Тогда его нужно установить.</p>
<h5>Добавляем скрипт в планировщик</h5>
<p>Если уведомление успешно получено, добавляем этот скрипт в планировщик cron, например с временем выполнения каждые 15 минут:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="bash">*/15 * * * * /opt/exim-check.sh</pre>
<p>Теперь, если количество исходящих писем в почтовой очереди exim превысит указанное вами значение, администратор сервера тут же получит уведомление на почту, и сможет проверить почтовую очередь на предмет рассылки спама.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://remadmin.com/blog/linux/monitoring-exim-spam/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Как в Linux изменить текстовый редактор по умолчанию</title>
		<link>https://remadmin.com/blog/linux/kak-v-linux-izmenit-tekstovyj-redaktor-po-umolchaniju/</link>
					<comments>https://remadmin.com/blog/linux/kak-v-linux-izmenit-tekstovyj-redaktor-po-umolchaniju/#respond</comments>
		
		<dc:creator><![CDATA[REMADMIN]]></dc:creator>
		<pubDate>Tue, 14 Feb 2023 15:59:30 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[ssh]]></category>
		<guid isPermaLink="false">https://remadmin.com/?p=7161</guid>

					<description><![CDATA[В Linux существует несколько текстовых редакторов. Vim, Nano, Mcedit, и другие. У каждого пользователя есть свои предпочтения и привычки, кому-то удобно пользовать одним редактором, кому-то другим. Я, например, люблю текстовый редактор mcedit, который устанавливается вместе с файловым менеджером Midnight Commander (mc). Когда работаешь в консоли, легко можно вызвать нужный редактор, просто написав его имя перед [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>В Linux существует несколько текстовых редакторов. Vim, Nano, Mcedit, и другие. У каждого пользователя есть свои предпочтения и привычки, кому-то удобно пользовать одним редактором, кому-то другим.</p>
<p>Я, например, люблю текстовый редактор <strong>mcedit</strong>, который устанавливается вместе с файловым менеджером <strong>Midnight Commander (mc)</strong>.<span id="more-7161"></span></p>
<p>Когда работаешь в консоли, легко можно вызвать нужный редактор, просто написав его имя перед файлом, который мы хотим отредактировать. Например, если написать в консоли команду</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">mcedit file</pre>
<p>то откроется редактор <strong>mcedit</strong>, в котором будет содержимое файла <strong>file</strong>, доступное для редактирования.</p>
<p>Но существуют некоторые команды, когда нет возможности задать редактор для редактирования. Например, мы хотим изменить список заданий планировщика cron. Для этого вводим команду</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">crontab -e</pre>
<p>Откроется файл, редактирования списка заданий планировщика. Но откроется он в редакторе, установленном в системе по умолчанию. Обычно это <strong>vim</strong>. А я хочу, чтобы он открывался в <strong>mcedit</strong> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h5>Как изменить текстовый редактор по умолчанию в Debian/Ubuntu.</h5>
<p>Посмотреть, какой редактор установлен по умолчанию, можно командой:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">ls -l /etc/alternatives/editor</pre>
<p>А для изменения редактора по умолчанию в Debian/Ubuntu нужно выполнить команду:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">sudo update-alternatives --config editor</pre>
<p>Появится список всех редакторов, установленных в системе, под определёнными номерами. Для изменения достаточно просто указать цифру нужного редактора. Выглядит это так:</p>
<p><a href="https://remadmin.com/wp-content/uploads/2023/02/8IFVYkWCZl.png" rel="lightbox[7161]"><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-7163" src="https://remadmin.com/wp-content/uploads/2023/02/8IFVYkWCZl.png" alt="Linux изменить текстовый редактор по умолчанию" width="660" height="211" srcset="https://remadmin.com/wp-content/uploads/2023/02/8IFVYkWCZl.png 660w, https://remadmin.com/wp-content/uploads/2023/02/8IFVYkWCZl-300x96.png 300w" sizes="(max-width: 660px) 100vw, 660px" /></a></p>
<p>В этом примере по умолчанию был установлен редактор 0, то есть <strong>nano</strong>.</p>
<p>Отправив цифру 3, я изменил его на <strong>mcedit</strong>.</p>
<h5>Как изменить текстовый редактор по умолчанию в Centos.</h5>
<p>Посмотреть редактор, используемый по умолчанию, можно командой:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">echo $EDITOR</pre>
<p>Вывод этой команды может быть пустой, или она покажет установленный по умолчанию редактор.</p>
<p>Для изменения редактора по умолчанию, достаточно выполнить команду:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">export EDITOR=mcedit</pre>
<p>Вместо <strong>mcedit</strong> можно указать любой другой текстовый редактор, который вам по душе. Главное, чтобы он был установлен в системе.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://remadmin.com/blog/linux/kak-v-linux-izmenit-tekstovyj-redaktor-po-umolchaniju/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Битрикс &#8211; выполнение всех агентов на cron</title>
		<link>https://remadmin.com/blog/vebmasteru/bitriks-vypolnenie-vseh-agentov-na-cron/</link>
					<comments>https://remadmin.com/blog/vebmasteru/bitriks-vypolnenie-vseh-agentov-na-cron/#respond</comments>
		
		<dc:creator><![CDATA[REMADMIN]]></dc:creator>
		<pubDate>Sun, 12 Feb 2023 22:54:15 +0000</pubDate>
				<category><![CDATA[Вебмастеру]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[Битрикс]]></category>
		<guid isPermaLink="false">https://remadmin.com/?p=7146</guid>

					<description><![CDATA[В Битрикс по умолчанию агенты выполняются на хитах. То есть триггером для запуска агента является посещение сайта пользователем. Из-за этого сайт может работать медленнее, чем хотелось бы. К тому же при проверке системы в админке, мы постоянно будем видеть «Замечание. Агенты выполняются на хитах, рекомендуется перевести выполнение агентов на cron». Ещё может быть другая ошибка: [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>В Битрикс по умолчанию агенты выполняются на хитах. То есть триггером для запуска агента является посещение сайта пользователем. Из-за этого сайт может работать медленнее, чем хотелось бы. К тому же при проверке системы в админке, мы постоянно будем видеть <strong>«Замечание. Агенты выполняются на хитах, рекомендуется перевести выполнение агентов на cron».</strong><span id="more-7146"></span></p>
<p><a href="https://remadmin.com/wp-content/uploads/2023/02/6MlgrPgbag.png" rel="lightbox[7146]"><img decoding="async" class="aligncenter size-full wp-image-7148" src="https://remadmin.com/wp-content/uploads/2023/02/6MlgrPgbag.png" alt="Выполнение всех агентов на cron" width="1497" height="540" srcset="https://remadmin.com/wp-content/uploads/2023/02/6MlgrPgbag.png 1497w, https://remadmin.com/wp-content/uploads/2023/02/6MlgrPgbag-300x108.png 300w, https://remadmin.com/wp-content/uploads/2023/02/6MlgrPgbag-1024x369.png 1024w, https://remadmin.com/wp-content/uploads/2023/02/6MlgrPgbag-768x277.png 768w" sizes="(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px" /></a></p>
<p>Ещё может быть другая ошибка: <strong>«Ошибка! Не настроен запуск cron_events. php на cron, последний агент отработал больше суток назад»</strong></p>
<h4>Как в Битрикс быстро и правильно перевести выполнение всех агентов на cron.</h4>
<p>В админке Битрикса идём в раздел <strong>Настройки / Инструменты / Командная PHP-строка. </strong>Вводим и выполняем там команду для отключения выполнение всех агентов на хитах:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="php">COption::SetOptionString("main", "agents_use_crontab", "N");
echo COption::GetOptionString("main", "agents_use_crontab", "N");

COption::SetOptionString("main", "check_agents", "N");
echo COption::GetOptionString("main", "check_agents", "Y");</pre>
<p>В результате выполнения команды должно получиться <strong>&#8220;NN&#8221;</strong>. Выглядит это так:</p>
<p><a href="https://remadmin.com/wp-content/uploads/2023/02/9WUJjad96Q.png" rel="lightbox[7146]"><img decoding="async" class="aligncenter size-full wp-image-7149" src="https://remadmin.com/wp-content/uploads/2023/02/9WUJjad96Q.png" alt="Выполнение всех агентов на cron" width="1330" height="701" srcset="https://remadmin.com/wp-content/uploads/2023/02/9WUJjad96Q.png 1330w, https://remadmin.com/wp-content/uploads/2023/02/9WUJjad96Q-300x158.png 300w, https://remadmin.com/wp-content/uploads/2023/02/9WUJjad96Q-1024x540.png 1024w, https://remadmin.com/wp-content/uploads/2023/02/9WUJjad96Q-768x405.png 768w" sizes="(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px" /></a></p>
<p>Дальше нужно отредактировать файл <strong>/bitrix/php_interface/dbconn.php</strong></p>
<p>Если там есть такие строки, одна или обе:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="php">define("BX_CRONTAB_SUPPORT", true);
define("BX_CRONTAB", true);</pre>
<p><strong>удаляем их</strong>. В этот же файл <strong>добавляем</strong>:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">if(!(defined("CHK_EVENT") &amp;&amp; CHK_EVENT===true))
   define("BX_CRONTAB_SUPPORT", true);</pre>
<p>Должно получиться примерно вот так:</p>
<p><a href="https://remadmin.com/wp-content/uploads/2023/02/CDxAtrjEpx.png" rel="lightbox[7146]"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7150" src="https://remadmin.com/wp-content/uploads/2023/02/CDxAtrjEpx.png" alt="Выполнение всех агентов на cron" width="478" height="293" srcset="https://remadmin.com/wp-content/uploads/2023/02/CDxAtrjEpx.png 478w, https://remadmin.com/wp-content/uploads/2023/02/CDxAtrjEpx-300x184.png 300w" sizes="(max-width: 478px) 100vw, 478px" /></a></p>
<p>Следующий шаг: в этой же папке <strong>/bitrix/php_interface/</strong> создаём новый файл с именем <strong>cron_events.php. </strong>В него вставляем такой код:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php
$_SERVER["DOCUMENT_ROOT"] = realpath(dirname(__FILE__)."/../..");
$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];

define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS",true);
define('BX_NO_ACCELERATOR_RESET', true);
define('CHK_EVENT', true);
define('BX_WITH_ON_AFTER_EPILOG', true);


require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

@set_time_limit(0);
@ignore_user_abort(true);

CAgent::CheckAgents();
define("BX_CRONTAB_SUPPORT", true);
define("BX_CRONTAB", true);
CEvent::CheckEvents();

if(CModule::IncludeModule('sender'))
{
    \Bitrix\Sender\MailingManager::checkPeriod(false);
    \Bitrix\Sender\MailingManager::checkSend();
}

require($_SERVER['DOCUMENT_ROOT']."/bitrix/modules/main/tools/backup.php");
?&gt;</pre>
<p>Ну и последнее, <strong>добавляем наш файл cron_events.php в планировщик cron</strong> с временем выполнения каждую минуту. Команда для планировщика cron должна выглядеть так:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">/opt/php72/bin/php -f /var/www/user/data/www/site.ru/bitrix/php_interface/cron_events.php</pre>
<p>Где:</p>
<ul>
<li><strong>/opt/php72/bin/php</strong> &#8211; путь к бинарнику той версии php, на которой работает сайт. Если версия php на сервере одна, и она установлена из пакетов, можно написать просто <strong>php.</strong></li>
<li><strong>/var/www/user/data/www/site.ru/bitrix/php_interface/cron_events.php</strong> &#8211; полный путь к созданному нами файлу <strong>cron_events.php</strong> от корня сервера.</li>
</ul>
<p>Через пару минут идём в админку Битрикса в раздел <strong>Инструменты / Проверка системы</strong>, запускаем проверку, и видим, что <strong>«Замечание. Агенты выполняются на хитах, рекомендуется перевести выполнение агентов на cron»</strong> исчезло. Это значит, что всё хорошо, мы успешно перевели выполнение всех агентов на cron.</p>
<p><a href="https://remadmin.com/wp-content/uploads/2023/02/cQejKf6aNK.png" rel="lightbox[7146]"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7151" src="https://remadmin.com/wp-content/uploads/2023/02/cQejKf6aNK.png" alt="Выполнение всех агентов на cron" width="1488" height="627" srcset="https://remadmin.com/wp-content/uploads/2023/02/cQejKf6aNK.png 1488w, https://remadmin.com/wp-content/uploads/2023/02/cQejKf6aNK-300x126.png 300w, https://remadmin.com/wp-content/uploads/2023/02/cQejKf6aNK-1024x431.png 1024w, https://remadmin.com/wp-content/uploads/2023/02/cQejKf6aNK-768x324.png 768w" sizes="(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px" /></a></p>
<p>Проверить, как выполняются Агенты можно в админке Битрикс в разделе <strong>Настройки / Настройки продукта / Агенты.</strong></p>
<p>Ищем там Агента с интервалом выполнения 60 секунд. Запоминаем время его последнего запуска. Через минуту обновляем страницу &#8211; время последнего запуска должно измениться.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://remadmin.com/blog/vebmasteru/bitriks-vypolnenie-vseh-agentov-na-cron/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cron &#8211; переход по ссылке с параметрами в URL</title>
		<link>https://remadmin.com/blog/linux/cron-perehod-po-ssylke-s-parametrami-v-url/</link>
					<comments>https://remadmin.com/blog/linux/cron-perehod-po-ssylke-s-parametrami-v-url/#respond</comments>
		
		<dc:creator><![CDATA[REMADMIN]]></dc:creator>
		<pubDate>Fri, 20 Jan 2023 17:57:11 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[cron]]></category>
		<guid isPermaLink="false">https://remadmin.com/?p=6994</guid>

					<description><![CDATA[Cron &#8211; планировщик в Linux для запуска задач по расписанию. Обычно он применяется для запуска скриптов, расположенных на этом же сервере, но часто бывает нужно создать задание, в котором он будет с определённой периодичностью открывать ссылку сайта, расположенную где угодно, на этом, или абсолютно на другом сервере. Как перейти по ссылке при помощи Cron. Обычно [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Cron &#8211; планировщик в Linux для запуска задач по расписанию. Обычно он применяется для запуска скриптов, расположенных на этом же сервере, но часто бывает нужно создать задание, в котором он будет с определённой периодичностью открывать ссылку сайта, расположенную где угодно, на этом, или абсолютно на другом сервере.<span id="more-6994"></span></p>
<h4>Как перейти по ссылке при помощи Cron.</h4>
<p>Обычно это делают при помощи Wget, сохраняя содержимое ссылки, как файл в /dev/null то есть сразу его удаляя. Команда выглядит так:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="shell">/usr/bin/wget -O /dev/null http://domain.com/cron.php</pre>
<p>Это прекрасно работает, если в ссылке отсутствуют параметры в url.</p>
<p>Но если ссылка будет выглядеть например так:</p>
<p><strong>http://domain.com/cron.php?param1=1&amp;param2=2</strong></p>
<p>то перейти он по ней уже не сможет из за символа <strong>&amp;</strong>. Он не передаст всё, что после него. Тоже самое будет, если в ссылке будут некоторые другие специальные символы, например <strong>%</strong>.</p>
<h4>Как перейти по ссылке с параметрами в url.</h4>
<p>Всё просто, нужно экранировать специальные символы обратной косой чертой <strong>\,</strong> вставив её перед специальным символом. Таким образом команда Cron для перехода по ссылке при помощи Wget, с параметрами в url, будет выглядеть вот так:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">/usr/bin/wget -O /dev/null http://domain.com/cron.php?param1=1\&amp;param2=2</pre>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://remadmin.com/blog/linux/cron-perehod-po-ssylke-s-parametrami-v-url/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>