<?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>Linux &#8211; REMADMIN</title>
	<atom:link href="https://remadmin.com/blog/linux/feed/" rel="self" type="application/rss+xml" />
	<link>https://remadmin.com</link>
	<description>Удалённый системный администратор</description>
	<lastBuildDate>Sun, 25 Feb 2024 11:25:06 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>Как безопасно удалить пользователя в Ubuntu Linux</title>
		<link>https://remadmin.com/blog/linux/kak-bezopasno-udalit-polzovatelya-v-ubuntu-linux/</link>
					<comments>https://remadmin.com/blog/linux/kak-bezopasno-udalit-polzovatelya-v-ubuntu-linux/#respond</comments>
		
		<dc:creator><![CDATA[REMADMIN]]></dc:creator>
		<pubDate>Thu, 29 Feb 2024 09:16:30 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[шпаргалка]]></category>
		<guid isPermaLink="false">https://remadmin.com/?p=7289</guid>

					<description><![CDATA[Умение эффективно удалять пользователей является ключевым навыком для специалистов в области системного администрирования. Устаревшие учетные записи могут представлять угрозу для безопасности сервера, поэтому их следует регулярно удалять. В данной статье мы предоставим информацию о процессе удаления пользователей в Linux Ubuntu и расскажем о необходимых шагах перед выполнением этой операции, чтобы избежать негативных последствий для системы. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Умение эффективно удалять пользователей является ключевым навыком для специалистов в области системного администрирования. Устаревшие учетные записи могут представлять угрозу для безопасности сервера, поэтому их следует регулярно удалять. В данной статье мы предоставим информацию о процессе удаления пользователей в Linux Ubuntu и расскажем о необходимых шагах перед выполнением этой операции, чтобы избежать негативных последствий для системы.</p>
<h6>Проверяем, авторизован ли пользователь на сервере, и есть ли запущенные от него процессы</h6>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">who
sudo ps -u username</pre>
<h6>Убиваем процессы пользователя, если они есть</h6>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">sudo killall -9 -u username</pre>
<h6>Отключаем все задачи планировщика cron этого пользователя</h6>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">sudo crontab -r -u username</pre>
<h6>Собственно удаляем пользователя</h6>
<p>Если нужно удалить пользователя, но оставить его домашнюю директорию, то выполняем:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">sudo deluser username</pre>
<p>Если нужно удалить всё, включая и его домашнюю директорию, то выполняем команду:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">sudo deluser --remove-home username</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://remadmin.com/blog/linux/kak-bezopasno-udalit-polzovatelya-v-ubuntu-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Поиск в файлах по содержимому в Linux</title>
		<link>https://remadmin.com/blog/linux/poisk-v-fajlah-po-soderzhimomu-v-linux/</link>
					<comments>https://remadmin.com/blog/linux/poisk-v-fajlah-po-soderzhimomu-v-linux/#respond</comments>
		
		<dc:creator><![CDATA[REMADMIN]]></dc:creator>
		<pubDate>Wed, 28 Feb 2024 13:51:01 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[шпаргалка]]></category>
		<guid isPermaLink="false">https://remadmin.com/?p=7301</guid>

					<description><![CDATA[Linux, как операционная система с открытым исходным кодом, обеспечивает пользователей мощными инструментами для работы с файловой системой. Один из ключевых аспектов этой работы &#8211; поиск файлов по их содержимому. В данной статье мы рассмотрим различные методы и инструменты для проведения эффективного поиска в файлах по их содержимому в Linux. Команда grep grep является одной из [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Linux, как операционная система с открытым исходным кодом, обеспечивает пользователей мощными инструментами для работы с файловой системой. Один из ключевых аспектов этой работы &#8211; поиск файлов по их содержимому. В данной статье мы рассмотрим различные методы и инструменты для проведения эффективного поиска в файлах по их содержимому в Linux.</p>
<h5>Команда grep</h5>
<p><strong>grep</strong> является одной из наиболее популярных и мощных утилит для поиска текстовых данных в файлах. Команда <strong>grep</strong> позволяет указать строку или регулярное выражение для поиска и применяется следующим образом:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">grep "ключевое_слово" /путь/к/файлу.txt</pre>
<p>Для рекурсивного поиска в каталогах вы можете использовать опцию <strong>-r</strong>, позволяющую искать вложенные файлы и подкаталоги. Пример:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">grep -r "искомый_текст" /путь/к/каталогу</pre>
<h5>find и xargs совместно</h5>
<p>Комбинация команд <strong>find</strong> и <strong>xargs</strong> позволяет находить файлы с заданными критериями и передавать их в качестве аргументов для других команд. Пример:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">find /путь -type f -exec grep "искомый_текст" {} +</pre>
<p>В данном примере <strong>find</strong> находит все файлы (-type f) в указанном пути и передает их в <strong>grep</strong>, где производится поиск заданного текста.</p>
<h5>find и grep совместно</h5>
<p>Комбинирование <strong>find</strong> и <strong>grep</strong> позволяет более тонко настраивать поиск. Например, поиск в файлах, измененных за последние 7 дней:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">find /путь -type f -mtime -7 -exec grep "искомый_текст" {} +</pre>
<p>Поиск в файлах по содержимому в Linux может быть выполнен различными способами, и выбор зависит от конкретной задачи. Описанные инструменты предоставляют гибкость и мощь для проведения поиска в текстовых файлах, а их комбинация может быть использована для достижения оптимальных результатов. Учитывайте особенности каждого инструмента и выбирайте подходящий в зависимости от контекста использования.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://remadmin.com/blog/linux/poisk-v-fajlah-po-soderzhimomu-v-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<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>Как найти большие папки и файлы в Linux</title>
		<link>https://remadmin.com/blog/linux/kak-najti-bolshie-papki-i-fajly-v-linux/</link>
					<comments>https://remadmin.com/blog/linux/kak-najti-bolshie-papki-i-fajly-v-linux/#respond</comments>
		
		<dc:creator><![CDATA[REMADMIN]]></dc:creator>
		<pubDate>Sun, 25 Feb 2024 10:44:11 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[шпаргалка]]></category>
		<guid isPermaLink="false">https://remadmin.com/?p=7294</guid>

					<description><![CDATA[Для поиска больших файлов и папок в Linux с последующей сортировкой результатов, можно использовать комбинацию команд find, du, и sort. Вот несколько примеров: Поиск больших файлов с сортировкой по убыванию, с выводом в терминал только 20 больших файлов,  в указанной папке find /путь/к/каталогу -type f -size +100M -exec du -h {} + &#124; sort -rh [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Для поиска больших файлов и папок в Linux с последующей сортировкой результатов, можно использовать комбинацию команд find, du, и sort. <span id="more-7294"></span>Вот несколько примеров:</p>
<h6>Поиск больших файлов с сортировкой по убыванию, с выводом в терминал только 20 больших файлов,  в указанной папке</h6>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">find /путь/к/каталогу -type f -size +100M -exec du -h {} + | sort -rh | head -n 20</pre>
<p>Эта команда ищет файлы размером более 100 мегабайт в указанном каталоге и его подкаталогах, затем сортирует результаты по размеру в убывающем порядке.</p>
<h6>Поиск больших файлов с сортировкой по убыванию в текущей папке</h6>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">find . -type f -size +500M -exec du -h {} + | sort -rh</pre>
<p>Эта команда ищет файлы размером более 500 мегабайт в текущем каталоге и его подкаталогах, затем сортирует результаты по размеру в убывающем порядке.</p>
<h6>Поиск больших папок с сортировкой по убыванию и выводом в терминал только 20 самых больших папок</h6>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">du -h --max-depth=1 /путь/к/каталогу | sort -rh | head -n 20</pre>
<p>Эта команда выводит размер каждой папки в указанном каталоге (включая подкаталоги) и сортирует результаты по размеру в убывающем порядке.</p>
<p><strong>Поиск папок, содержащих большое количество файлов, с сортировкой по убыванию, и выводом только 20 таких папок</strong></p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">find /путь/к/каталогу -type d -exec sh -c 'echo -n "{} " &amp;&amp; find "{}" -maxdepth 1 -type f | wc -l' \; | sort -k2 -nr | head -n 20</pre>
<p>Эта команда ищет все подкаталоги в указанном каталоге, выводит каждый подкаталог вместе с количеством файлов в нем, а затем сортирует результаты по количеству файлов в убывающем порядке.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://remadmin.com/blog/linux/kak-najti-bolshie-papki-i-fajly-v-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SSH &#8211; проброс приватного ключа</title>
		<link>https://remadmin.com/blog/linux/ssh-probros-privatnogo-kljucha/</link>
					<comments>https://remadmin.com/blog/linux/ssh-probros-privatnogo-kljucha/#respond</comments>
		
		<dc:creator><![CDATA[REMADMIN]]></dc:creator>
		<pubDate>Sat, 24 Feb 2024 07:56:04 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[шпаргалка]]></category>
		<guid isPermaLink="false">https://remadmin.com/?p=7283</guid>

					<description><![CDATA[Проброс приватного ключа SSH позволяет, будучи подключённым к одному удалённому серверу, подключаться к другим, используя один и тот же приватный ключ, находящийся на вашем компьютере. Функция может быть очень полезна, если вы, например, работаете с GIT, прямо на удалённом сервере и вам нужно отправить с него же правки в GitHub. Для проброса приватного ключа используется [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Проброс приватного ключа SSH позволяет, будучи подключённым к одному удалённому серверу, подключаться к другим, используя один и тот же приватный ключ, находящийся на вашем компьютере. Функция может быть очень полезна, если вы, например, работаете с GIT, прямо на удалённом сервере и вам нужно отправить с него же правки в GitHub.</p>
<p>Для проброса приватного ключа используется <strong>SSH Агент. </strong>Способ одинаково работает в консоли любых операционных систем Linux, macOS и Windows.</p>
<p>Первым делом проверяем, запущен ли агент, и знает ли он что-то о вашем ключе:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">ssh-add -l</pre>
<p>Если получаем ответ: <strong>Could not open a connection to your authentication agent, </strong>запускаем агент командой:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">eval 'ssh-agent'</pre>
<p>Если ответ: <strong>The agent has no identities, </strong>значит нужно сообщить ему о вашем приватном ключе, выполнив команду:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">ssh-add</pre>
<p>Если в ответе команды <strong>ssh-add -l </strong>вы видите путь к своему приватному ключу, значит всё хорошо, и вы можете подключаться к удалённому серверу по ssh, добавив при подключении опцию <strong>-A</strong>, то есть вот так:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">ssh -A user@host:port</pre>
<p>Или можно установить опцию ForwardAgent yes в файле <strong>~/.ssh/config</strong> на вашем локальном компьютере:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="raw">Host *
  ForwardAgent yes</pre>
<p>Для проверки, что всё хорошо и ключ проброшен, на удалённом сервере можно выполнить команду:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">echo "$SSH_AUTH_SOCK"</pre>
<p>Если всё ок, то она должна вернуть что-то похожее на:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">/tmp/ssh-DCIux21917/agent.21917</pre>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://remadmin.com/blog/linux/ssh-probros-privatnogo-kljucha/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Битрикс: Веб-окружение &#8211; бэкапы на удалённый FTP сервер.</title>
		<link>https://remadmin.com/blog/vebmasteru/bitriks-veb-okruzhenie-bekapy-na-udaljonnyj-ftp-server/</link>
					<comments>https://remadmin.com/blog/vebmasteru/bitriks-veb-okruzhenie-bekapy-na-udaljonnyj-ftp-server/#respond</comments>
		
		<dc:creator><![CDATA[REMADMIN]]></dc:creator>
		<pubDate>Sun, 12 Mar 2023 09:39:27 +0000</pubDate>
				<category><![CDATA[Вебмастеру]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[curlftpfs]]></category>
		<category><![CDATA[Битрикс]]></category>
		<category><![CDATA[Резервное копирование]]></category>
		<guid isPermaLink="false">https://remadmin.com/?p=7211</guid>

					<description><![CDATA[1С-Битрикс: Веб-окружение умеет создавать резервные копии только на тот же сервер, на котором непосредственно расположен сам сайт. Пользы от таких бэкапов мало, так как при серьёзных проблемах с самим сервером, вы их запросто лишитесь. Вообще любые бэкапы нужно всегда делать не просто на другой сервер, а на другой сервер, расположенный в другом дата-центре, и желательно [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>1С-Битрикс: Веб-окружение умеет создавать резервные копии только на тот же сервер, на котором непосредственно расположен сам сайт. Пользы от таких бэкапов мало, так как при серьёзных проблемах с самим сервером, вы их запросто лишитесь. Вообще любые бэкапы нужно всегда делать не просто на другой сервер, а на другой сервер, расположенный в другом дата-центре, и желательно даже в другой стране. Пожары, природные катаклизмы, войны, банкротство провайдера &#8211; это лишь несколько причин, по которым вы можете лишиться и сайта, и его резервных копий, если будете хранить бэкапы там же, где находится и сам сайт.</p>
<p>В сети не мало примеров скриптов, которые копируют бэкапы, созданные Битриксом, или Веб-окружением на удалённый сервер. Но не во всех случаях такой метод уместен, так как, эти бэкапы всё равно создаются и хранятся изначально на самом сервере с сайтом, занимая там место, которого может категорически не хватать.</p>
<p>Можно конечно написать свой собственный скрипт резервного копирования сайта сразу на удалённый FTP, но зачем изобретать велосипед, когда функционал резервного копирования уже есть в Битрикс: Веб-окружении.</p>
<blockquote><p><strong>Итак, задача:</strong> имеем сайт на Битрикс, работающий на VDS под управлением &#8220;1С-Битрикс: Веб-окружение&#8221;. Сайт большой, свободного места на сервере мало, его не достаточно для создания и хранения даже одной резервной копии. Нужно чтобы бэкапы создавались сразу на удалённый FTP сервер и хранились там же.</p></blockquote>
<p>Решить эту задачу я предлагаю максимально просто. Используя стандартный механизм резервного копирования &#8220;1С-Битрикс: Веб-окружение&#8221; в стандартную папку, в которую мы смонтируем удалённый FTP сервер.</p>
<h5>Монтируем удалённый ftp сервер, как локальную папку.</h5>
<p>Устанавливаем curlftpfs:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">yum install curlftpfs</pre>
<p>Узнаём id пользователя bitrix в системе. Обычно это 600:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">id -u bitrix</pre>
<p>В файл /etc/fstab добавляем строку:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="bash">curlftpfs#ftp://USER:PASSWORD@SERVER/ /home/bitrix/backup/archive fuse rw,uid=600,allow_other,user 0 1</pre>
<p>Где:</p>
<ul>
<li><strong>USER:PASSWORD@SERVER</strong> &#8211; данные удалённого FTP сервера.</li>
<li><strong>/home/bitrix/backup/archive</strong> &#8211; стандартная папка, в которую Веб-окружение делает резервные копии.</li>
<li><strong>600</strong> &#8211; id пользователя bitrix, который мы узнали выше.</li>
</ul>
<p>Монтируем:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">mount -a</pre>
<p>Проверяем, что всё примонтировалось корректно:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">df -h</pre>
<p>На этом этапе, у нас получилось так, что всё, что попадает в папку /home/bitrix/backup/archive хранится уже не на локальном сервере, а на удалённом FTP. И на локальном сервере не занимает абсолютно никакого места. Можете проверить этот момент, загружая в эту папку какие-нибудь файлы на сервере с сайтом. Они должны сразу же быть видны на удалённом FTP сервере. И наоборот.</p>
<h5>Настраиваем резервное копирование средствами &#8220;1С-Битрикс: Веб-окружение&#8221;</h5>
<p>Здесь всё просто и стандартно.</p>
<p>В меню &#8220;1С-Битрикс: Веб-окружение&#8221; выбираем пункт <strong>6. Configure pool sites</strong>:</p>
<p><a href="https://remadmin.com/wp-content/uploads/2023/03/nl4C0yYGkp.png" rel="lightbox[7211]"><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-7213" src="https://remadmin.com/wp-content/uploads/2023/03/nl4C0yYGkp.png" alt="Битрикс веб окружение" width="632" height="261" srcset="https://remadmin.com/wp-content/uploads/2023/03/nl4C0yYGkp.png 632w, https://remadmin.com/wp-content/uploads/2023/03/nl4C0yYGkp-300x124.png 300w" sizes="(max-width: 632px) 100vw, 632px" /></a></p>
<p>Затем снова пункт <strong>6. Change backup settings on site</strong>:</p>
<p><a href="https://remadmin.com/wp-content/uploads/2023/03/uQ0F1G1xaJ.png" rel="lightbox[7211]"><img decoding="async" class="aligncenter size-full wp-image-7214" src="https://remadmin.com/wp-content/uploads/2023/03/uQ0F1G1xaJ.png" alt="Битрикс веб окружение" width="620" height="263" srcset="https://remadmin.com/wp-content/uploads/2023/03/uQ0F1G1xaJ.png 620w, https://remadmin.com/wp-content/uploads/2023/03/uQ0F1G1xaJ-300x127.png 300w" sizes="(max-width: 620px) 100vw, 620px" /></a></p>
<p>А дальше включаем резервное копирование сайта, настраиваем расписание, и т.д. Всё стандартно и в стандартную папку. Подробнее о настройке резервного копирования можно почитать на <a href="https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=37&amp;LESSON_ID=8857&amp;LESSON_PATH=3908.8809.8847.8857" rel="nofollow noopener" target="_blank">сайте Битрикса</a>.</p>
<p>На этом наша задача полностью решена. Теперь &#8220;1С-Битрикс: Веб-окружение&#8221; будет создавать резервные копии по заданному расписанию, эти резервные копии будут храниться на удалённом FTP сервере, и не будут занимать никакого места на сервере с сайтом.</p>
<p>Аналогично можно настроить резервные копии и любых других систем, которые умеют создавать бэкапы только локально.</p>
<p>Если вы в поисках, где взять удалённый FTP сервер, для хранения резервных копий за адекватную стоимость &#8211; <a href="https://remadmin.com/contact/" target="_blank" rel="noopener">обращайтесь</a>, подберу для вас варианты практически любого объёма.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://remadmin.com/blog/vebmasteru/bitriks-veb-okruzhenie-bekapy-na-udaljonnyj-ftp-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Команда Find в Linux &#8211; как найти и удалить файлы и папки</title>
		<link>https://remadmin.com/blog/linux/find-v-linux/</link>
					<comments>https://remadmin.com/blog/linux/find-v-linux/#respond</comments>
		
		<dc:creator><![CDATA[REMADMIN]]></dc:creator>
		<pubDate>Fri, 10 Mar 2023 11:48:38 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ssh]]></category>
		<guid isPermaLink="false">https://remadmin.com/?p=7197</guid>

					<description><![CDATA[Команда find предназначена для поиска файлов и папок в файловой системе Linux. Она может быть использована для поиска файлов по имени, типу, размеру, дате изменения и другим критериям. Команда find может быть очень полезной в различных сценариях, например, при поиске конкретного файла в большой файловой системе или при поиске файлов, которые были изменены в течение [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Команда <strong>find</strong> предназначена для поиска файлов и папок в файловой системе Linux. Она может быть использована для поиска файлов по имени, типу, размеру, дате изменения и другим критериям. Команда <strong>find</strong> может быть очень полезной в различных сценариях, например, при поиске конкретного файла в большой файловой системе или при поиске файлов, которые были изменены в течение определенного периода времени.</p>
<h5>Как использовать команду find</h5>
<p>Команда &#8220;find&#8221; имеет следующий синтаксис:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="css">find [path] [expression]</pre>
<p>где &#8220;path&#8221; &#8211; это путь к каталогу, в котором вы хотите искать файлы, а &#8220;expression&#8221; &#8211; это выражение, которое определяет критерии поиска.</p>
<h5>Поиск по типу</h5>
<p>Параметр <strong>-type</strong> позволяет искать файлы по типу, которые бывают следующих видов:</p>
<ul>
<li><strong>f</strong> – простые файлы.</li>
<li><strong>d</strong> – каталоги.</li>
<li><strong>l</strong> – символические ссылки.</li>
<li><strong>b</strong> – блочные устройства (dev).</li>
<li><strong>c</strong> – символьные устройства (dev).</li>
<li><strong>p</strong> – именованные каналы.</li>
<li><strong>s</strong> – сокеты.</li>
</ul>
<p>Например, вот так, будут найдены только каталоги внутри текущего:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">find . -type d</pre>
<h5>Поиск по имени</h5>
<p>Для поиска по имени используется параметр <strong>-name</strong>. Например, команда для поиска всех файлов с расширением .txt в каталоге /home/ будет выглядеть так:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">find /home/ -type f -name "*.txt"</pre>
<p>Найти все папки с именем my_folder в текущем каталоге можно так:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">find . -type d -name "my_folder"</pre>
<h5>Поиск по размеру файла</h5>
<p>Для поиска по размеру используется параметр <strong>-size</strong>.</p>
<ul>
<li><strong>+</strong> &#8211; Поиск файлов больше заданного размера</li>
<li><strong>&#8211;</strong> &#8211; Поиск файлов меньше заданного размера</li>
<li>Отсутствие знака означает, что размер файлов в поиске должен полностью совпадать.</li>
</ul>
<p>Единицы измерения указываются так:</p>
<ul>
<li><strong>c</strong> — Байт</li>
<li><strong>k</strong> — Кбайт</li>
<li><strong>M</strong> — Мбайт</li>
<li><strong>G</strong> — Гбайт</li>
</ul>
<p>Например, найти все файлы, в каталоге /home/ с размером больше 100 Мбайт можно так:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">find /home/ -size +100M</pre>
<h5>Поиск пустых файлов и каталогов</h5>
<p>Для поиска пустых папок и файлов используется параметр <strong>-empty</strong>. Например, найдём все пустые файлы и папки в каталоге /home/:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">find /home/ -empty</pre>
<h5>Поиск файлов по дате</h5>
<p>Доступны следующие параметры:</p>
<ul>
<li><strong>-mtime</strong> &#8211; Время изменения файла. Указывается в днях.</li>
<li><strong>-mmin</strong> &#8211; Время изменения в минутах.</li>
<li><strong>-atime</strong> &#8211; Время последнего обращения к объекту в днях.</li>
<li><strong>-amin</strong> &#8211; Время последнего обращения в минутах.</li>
<li><strong>-ctime</strong> &#8211; Последнее изменение владельца или прав на объект в днях.</li>
<li><strong>-cmin</strong> &#8211; Последнее изменение владельца или прав в минутах.</li>
</ul>
<p>Например, найдём все файлы, изменённые в каталоге /home/ за последние 60 минут:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">find /home/ -cmin -60</pre>
<p>А если мы наоборот, хотим найти все файлы, изменённые раньше, чем час назад, то в команде минус меняем на плюс:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">find /home/ -cmin +60</pre>
<p>Можно также вывести <strong>список файлов с сортировкой по дате модификации</strong>.</p>
<p>Например, вот эта команда выведет все файлы из каталога /home/ с сортировкой по дате модификации. Файлы изменённые недавно, окажутся в начале списка:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">find /home/ -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r</pre>
<p>А вот так, мы изменим сортировку, то есть последние изменённые файлы окажутся в конце списка:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">find /home/ -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -n</pre>
<p>А так, мы можем ограничить количество выводимых результатов. Например вывести только 50:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">find /home/ -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -n | head -n 50</pre>
<h5>Поиск по пользователю или группе</h5>
<p>Для поиска файлов принадлежащих определённому пользователю, или группе, используются параметры <strong>-user</strong> и <strong>-group</strong>. Например, найдём в каталоге /home/ все файлы, принадлежащие пользователю admin:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">find /home/ -user admin</pre>
<h5>Поиск по правам доступа</h5>
<p>Для поиска по правам доступа используется параметр <strong>-perm</strong>. Например, найдём все файлы с правами 777 в каталоге /home/:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">find /home/ -perm 777</pre>
<h5>Поиск с использованием логических операторов</h5>
<p>При поиске можно использовать логические операторы:</p>
<ul>
<li><strong>-a</strong> &#8211; Логическое И. Объединяет несколько критериев поиска.</li>
<li><strong>-o</strong> &#8211; Логическое ИЛИ. Ищем на основе одного из критериев поиска.</li>
<li><strong>-not</strong> или <strong>!</strong> &#8211; Логическое НЕ.</li>
</ul>
<p>Например, найдём в каталоге /home/ все файлы начинающиеся на sess_ или заканчивающиеся на tmp:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">find /home/ -type f -name "sess_*" -o -name "*tmp"</pre>
<h5>Исключить из поиска определённые папки</h5>
<p>При поиске с помощью команды find, можно исключать определённые каталоги. Например мы хотим найти все файлы с расширением .php, изменённые за последние 2 дня во всех папках сайта, за исключением папок /bitrix/managed_cache/ и /bitrix/cache/:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">find /home/www/ -type f -name "*.php" -mtime -1 -not -path "*/bitrix/managed_cache/*" -not -path "*/bitrix/cache/*"</pre>
<h5>Как удалить найденные файлы</h5>
<p>Для удаления найденных файлов можно использовать параметр <strong>-delete</strong>, дописав его в конце команды поиска.</p>
<p>Например, удалим из папки /tmp/ все файлы старше 10 дней:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">find /tmp/ -type f -mtime +10 -delete</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://remadmin.com/blog/linux/find-v-linux/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-rabotat-s-arhivatorami-v-konsoli-linux/</link>
					<comments>https://remadmin.com/blog/linux/kak-rabotat-s-arhivatorami-v-konsoli-linux/#respond</comments>
		
		<dc:creator><![CDATA[REMADMIN]]></dc:creator>
		<pubDate>Sun, 26 Feb 2023 15:03:24 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ssh]]></category>
		<guid isPermaLink="false">https://remadmin.com/?p=7177</guid>

					<description><![CDATA[Часто при работе в консоли linux приходится создавать архивы, или наоборот распаковывать их. Эта статья &#8211; шпаргалка основных команд, используемых при работе с основными архиваторами. Как создать или распаковать архивы tar, tar.gz, tar.bz2 в консоли Linux Опции tar: c — создание нового архива (сокращение от create) v — выдача дополнительных сообщений в процессе работы программы [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Часто при работе в консоли linux приходится создавать архивы, или наоборот распаковывать их. Эта статья &#8211; шпаргалка основных команд, используемых при работе с основными архиваторами.<span id="more-7177"></span></p>
<h4>Как создать или распаковать архивы tar, tar.gz, tar.bz2 в консоли Linux</h4>
<p><strong>Опции tar:</strong></p>
<ul>
<li><strong>c</strong> — создание нового архива (сокращение от create)</li>
<li><strong>v</strong> — выдача дополнительных сообщений в процессе работы программы</li>
<li><strong>f</strong> — создание файла на диске.</li>
<li><strong>z</strong> — использовать для сжатия GZip</li>
<li><strong>j</strong> — использовать для сжатия BZip2</li>
<li><strong>x</strong> — распаковать архив</li>
</ul>
<h5>Упаковка в архив файлов или папок</h5>
<h6>Упаковать файл или папку в архив tar</h6>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">tar -cvf archive.tar file</pre>
<p>С папкой всё аналогично:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">tar -cvf archive.tar folder</pre>
<p>Можно упаковать сразу несколько папок или файлов:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">tar -cvf archive.tar file folder</pre>
<p>Можно указать пути к папкам, или файлам, а также путь к файлу архива.</p>
<p>Обратите внимание, что в этом случае нужно добавить опцию <strong>-C</strong>, а далее слэш <strong>/</strong> с обоих сторон, отделённый пробелами. При этом путь к папке, которую архивируем, уже указываем без слэша в начале.</p>
<p>Без этой опции тоже будет работать, но tar постоянно будет ругаться вот так: <strong>tar: Removing leading `/&#8217; from member names</strong></p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">tar -cvf /home/archive.tar -C / home/folder</pre>
<p>При необходимости, можно исключить файлы или папки из архива. Например вот так, в архив не попадут все файлы из папок folder1 и folder3, при этом сами эти папки в архив попадут пустыми:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">tar -cvf archive.tar folder --exclude={'*/folder1/*','*/folder2/*'}</pre>
<p>А вот так, в архив не попадут и сами папки:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">tar -cvf archive.tar folder --exclude={'*/folder1','*/folder2'}</pre>
<p>Можно указывать полный путь к папке, которую нужно исключить:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">tar -cvf archive.tar folder --exclude='folder/folder1'</pre>
<p>Можно &#8211;exclude указывать несколько раз:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">tar -cvf archive.tar folder --exclude='folder/folder1' --exclude='folder/folder2'</pre>
<p>Можно исключить файлы или папки по маске:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">tar -cvf archive.tar folder --exclude='sess_*'</pre>
<p>Упаковать папку в архив и сразу отправить на удалённый сервер по ssh:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">tar -cvf - folder | ssh root@192.168.1.1 "cat &gt; /backup/archive.tar"</pre>
<h6>Упаковать файл или папку в архив tar.gz</h6>
<p>Здесь всё те же команды, что и просто с tar, которые приведены выше, только добавляем в начале опцию <strong>z</strong> и имя создаваемого архива указываем с расширением <strong>.tar.gz</strong>:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">tar -zcvf archive.tar.gz folder</pre>
<h6>Упаковать файл или папку в архив tar.bz2</h6>
<p>Опять, всё тоже самое, что и в случаях выше, только уже указываем опцию <strong>j</strong>, и имя создаваемого архива указываем с расширением <strong>tar.bz2</strong>:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">tar -jcvf archive.tar.bz2 folder</pre>
<h5>Как посмотреть содержимое архива</h5>
<p>Всё просто, используем опцию t. Работает и с простыми архивами tar, и со сжатыми в tar.gz или  tar.bz2:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">tar -tf archive.tar</pre>
<h5>Как распаковать архивы tar, tar.gz, tar.bz2</h5>
<h6>Распаковать архив tar</h6>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">tar -xvf archive.tar</pre>
<p>Распаковать архив tar в определённую папку:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">tar -xvf archive.tar -C /home/</pre>
<h6>Распаковать архив tar.gz</h6>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">tar -xzvf archive.tar.gz</pre>
<p>Распаковать архив tar.gz в определённую папку:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">tar -xzvf archive.tar.gz -C /home/</pre>
<h6>Распаковать архив tar.bz2</h6>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">tar -xjvf archive.tar.bz2</pre>
<p>Распаковать архив tar.bz2 в определённую папку:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">tar -xjvf archive.tar.bz2 -C /home/</pre>
<h4>Как создать или распаковать архивы zip в консоли Linux</h4>
<h5>Упаковка в архив файлов или папок</h5>
<h6>Упаковать файл в архив zip</h6>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">zip archive.zip file</pre>
<h6>Упаковать папку в архив zip</h6>
<p>При архивировании папки нужно добавить опцию <strong>-r</strong>, иначе в архив не попадут вложенные в папку другие папки и файлы:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="powershell">zip -r archive.zip folder</pre>
<h5>Как распаковать архивы zip</h5>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">unzip archive.zip</pre>
<p>Если нужно распаковать архив zip в определённую папку, то нужно добавить опцию <strong>-d</strong></p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">unzip -d folder archive.zip</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://remadmin.com/blog/linux/kak-rabotat-s-arhivatorami-v-konsoli-linux/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 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>
	</channel>
</rss>