<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Евгений Лукин: заметки с тегом crontab</title>
<link>https://evgenylukin.ru/blog/tags/crontab/</link>
<description>Заметки, конспекты</description>
<author>Евгений Лукин</author>
<language>ru</language>
<generator>E2 (v3849; Aegea)</generator>

<itunes:owner>
<itunes:name>Евгений Лукин</itunes:name>
<itunes:email></itunes:email>
</itunes:owner>
<itunes:subtitle>Заметки, конспекты</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Запускаем Python-скрипт с помощью Cron на Linux</title>
<guid isPermaLink="false">76</guid>
<link>https://evgenylukin.ru/blog/all/zapuskaem-python-skript-s-pomoschyu-cron-na-linux/</link>
<pubDate>Thu, 09 Dec 2021 09:37:17 +0300</pubDate>
<author>Евгений Лукин</author>
<comments>https://evgenylukin.ru/blog/all/zapuskaem-python-skript-s-pomoschyu-cron-na-linux/</comments>
<description>
&lt;p&gt;#Подготавливаем сервер и переносим на него проект&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Создаём или обновляем файл с зависимостями&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;pip freeze &amp;gt; requirements.txt&lt;/code&gt;&lt;/pre&gt;&lt;ol start="2"&gt;
&lt;li&gt;Создаём папку для приложения на сервере&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;mkdir ikea
cd ikea&lt;/code&gt;&lt;/pre&gt;&lt;ol start="3"&gt;
&lt;li&gt;Устанавливаем виртуальное окружение&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;virtualenv -p python3 venv&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;если модуль не установлен, устанавливаем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;pip3 install virtualenv&lt;/code&gt;&lt;/pre&gt;&lt;ol start="4"&gt;
&lt;li&gt;Копируем файлы в папку приложения. Папку со скриптом и requirements.txt&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;scp /mnt/c/Users/Дарья/YandexDisk/Python Projects/ikea/requirements.txt user@11.22.33.44:/home/lukin/projects/ikea/&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Для копирования папки целиком указываем параметр &lt;i&gt;-r&lt;/i&gt;&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;scp -r /mnt/c/Users/Дарья/YandexDisk/Python Projects/ikea/ikea user@11.22.33.44:/home/lukin/projects/ikea/&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Если надо переименовать папку&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;mv староеимя новоеимя&lt;/code&gt;&lt;/pre&gt;&lt;ol start="5"&gt;
&lt;li&gt;Активируем виртуальное окружение и устанавливаем зависимости&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;source venv/bin/activate&lt;/code&gt;&lt;/pre&gt;&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;pip install -r requirements.txt&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;#Настраиваем расписание&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Открываем планировщик&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;crontab -e&lt;/code&gt;&lt;/pre&gt;&lt;ol start="2"&gt;
&lt;li&gt;Задаём расписание. Расписание можно сгенерировать, например на cronmaker.com&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;0 */1 * * * cd /home/lukin/projects/ikea/ikea &amp;amp;&amp;amp; /home/lukin/projects/ikea/venv/bin/python3 ikea_app.py&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;или&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;* * * * * /bin/bash -c 'source /home/lukin/projects/realty/venv/bin/activate;cd /home/lukin/projects/realty &amp;amp;&amp;amp; python3 ikea_app.py'&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;#Как понять что Cron срабатывает?&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;tail /var/log/syslog # получаем &amp;quot;хвост&amp;quot;, последние 10 строк лог-файла&lt;/code&gt;&lt;/pre&gt;</description>
</item>


</channel>
</rss>