<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Automation on Tatarinov</title><link>https://blog.tatarinovms.space/categories/automation/</link><description>Recent content in Automation on Tatarinov</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 31 Jul 2026 21:30:00 +0500</lastBuildDate><atom:link href="https://blog.tatarinovms.space/categories/automation/index.xml" rel="self" type="application/rss+xml"/><item><title>Hermes: скилл для управления Яндекс.Диском через rclone</title><link>https://blog.tatarinovms.space/hermesyandexdisk/</link><pubDate>Fri, 31 Jul 2026 21:30:00 +0500</pubDate><guid>https://blog.tatarinovms.space/hermesyandexdisk/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/hermesyandexdisk/logo.webp" alt="logo"&gt;&lt;/p&gt;
&lt;p&gt;Я использую rclone для работы с Яндекс.Диском уже давно: двусторонняя синхронизация скриптов, бэкап конфигов роутера и т.д. Команды простые, но иногда хочется их отдать отдать ИИ-агенту. Поэтому я сделал скилл для Hermes, который умеет управлять файлами на Яндекс.Диске через rclone.&lt;/p&gt;
&lt;h2 id="что-умеет-скилл"&gt;
 Что умеет скилл
 &lt;a class="heading-link" href="#%d1%87%d1%82%d0%be-%d1%83%d0%bc%d0%b5%d0%b5%d1%82-%d1%81%d0%ba%d0%b8%d0%bb%d0%bb"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Скилл &lt;code&gt;yandex-disk-rclone&lt;/code&gt; — это инструкция для ИИ-агента с набором команд. Теперь вместо того чтобы руками или скриптом что-то делать, я просто прошу по-русски агента: «залей это на яндекс диск» или «что лежит в папке X в облаке».&lt;/p&gt;</description></item><item><title>Как делать сервисы на macOS через launchd</title><link>https://blog.tatarinovms.space/servisynamacos/</link><pubDate>Fri, 31 Jul 2026 13:25:24 +0500</pubDate><guid>https://blog.tatarinovms.space/servisynamacos/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/servisynamacos/logo.webp" alt="logo"&gt;&lt;/p&gt;
&lt;p&gt;На macOS часто хочется сделать то же, что на Linux делается через &lt;code&gt;systemd&lt;/code&gt;: запустить скрипт как сервис, автоматически стартовать его при входе в систему или выполнять по расписанию. В macOS для этого есть &lt;strong&gt;launchd&lt;/strong&gt; — встроенный менеджер процессов и задач.&lt;/p&gt;
&lt;p&gt;Если коротко: для пользовательских задач обычно нужен &lt;strong&gt;LaunchAgent&lt;/strong&gt;, а для системных — &lt;strong&gt;LaunchDaemon&lt;/strong&gt;. В этой статье разберём, как выбрать правильный вариант, как написать &lt;code&gt;.plist&lt;/code&gt; и как убедиться, что всё работает.&lt;/p&gt;</description></item><item><title>Синхронизация скиллов и MCP opencode через git-репозитории</title><link>https://blog.tatarinovms.space/opencodeskillsmcpsync/</link><pubDate>Fri, 17 Jul 2026 18:00:00 +0500</pubDate><guid>https://blog.tatarinovms.space/opencodeskillsmcpsync/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/opencodeskillsmcpsync/logo.webp" alt=""&gt;&lt;/p&gt;
&lt;h2 id="зачем-это-нужно"&gt;
 Зачем это нужно
 &lt;a class="heading-link" href="#%d0%b7%d0%b0%d1%87%d0%b5%d0%bc-%d1%8d%d1%82%d0%be-%d0%bd%d1%83%d0%b6%d0%bd%d0%be"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;У меня в opencode накопилось несколько скиллов и MCP-серверов: конвертер в маркдаун, поиск в duckduckgo, deepwiki и т.д Раньше они лежали где попало. Переезжаешь на другую машину или слетает конфиг — и всё, собирай заново.&lt;/p&gt;
&lt;p&gt;Захотелось одного: чтобы всё было в git-репозиториях как единственный источник правды, а opencode просто читал оттуда. И чтобы обновление было в одну команду, а не ручной перенос файлов.&lt;/p&gt;</description></item><item><title>Синхронизация кода в два репозитория одновременно</title><link>https://blog.tatarinovms.space/synctogit/</link><pubDate>Tue, 21 Apr 2026 20:00:00 +0500</pubDate><guid>https://blog.tatarinovms.space/synctogit/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/synctogit/logo.webp" alt="logo"&gt;&lt;/p&gt;
&lt;h3 id="введение"&gt;
 Введение
 &lt;a class="heading-link" href="#%d0%b2%d0%b2%d0%b5%d0%b4%d0%b5%d0%bd%d0%b8%d0%b5"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;В условиях турбулентной работы облачных сервисов (снова так скажем) вопрос избыточности хранения кода становится актуальным. Держать проект только на GitHub — это риск. Решением может стать зеркалирование кода в другой сервис, например, на GitVerse.&lt;/p&gt;
&lt;p&gt;Обычно мы привыкли, что один &lt;code&gt;remote&lt;/code&gt; (например, &lt;code&gt;origin&lt;/code&gt;) привязан к одному URL. Но Git позволяет добавить несколько URL для push-операций в один remote.&lt;/p&gt;
&lt;h3 id="как-это-настроить"&gt;
 Как это настроить
 &lt;a class="heading-link" href="#%d0%ba%d0%b0%d0%ba-%d1%8d%d1%82%d0%be-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b8%d1%82%d1%8c"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Если у вас уже есть основной репозиторий на GitHub, достаточно добавить второй URL для отправки данных:&lt;/p&gt;</description></item><item><title>rclone для Яндекс Диска</title><link>https://blog.tatarinovms.space/rclone4yd/</link><pubDate>Sun, 18 May 2025 17:57:16 +0500</pubDate><guid>https://blog.tatarinovms.space/rclone4yd/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/rclone4YD/logo.webp" alt="logo"&gt;&lt;/p&gt;
&lt;p&gt;Ранее я писал о том, как использовать &lt;a href="https://blog.tatarinovms.space/ydiskwebdav/" class="external-link" target="_blank" rel="noopener"&gt;Яндекс.Диск через WebDAV&lt;/a&gt; и как установить родной клиент &lt;a href="https://blog.tatarinovms.space/yadisk/" class="external-link" target="_blank" rel="noopener"&gt;Яндекс.Диска на Ubuntu Server&lt;/a&gt;. В этой статье расскажу о более «продвинутом» способе — с использованием утилиты &lt;code&gt;rclone&lt;/code&gt;. Это простой, универсальный инструмент, который можно использовать в bash-скриптах, например. В гайде покажу, как настроить его на Ubuntu, но он подойдёт и для других систем. Например, на macOS я использую его точно так же.&lt;/p&gt;
&lt;h3 id="что-нам-понадобится"&gt;
 Что нам понадобится?
 &lt;a class="heading-link" href="#%d1%87%d1%82%d0%be-%d0%bd%d0%b0%d0%bc-%d0%bf%d0%be%d0%bd%d0%b0%d0%b4%d0%be%d0%b1%d0%b8%d1%82%d1%81%d1%8f"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;rclone на сервере (Ubuntu)&lt;/li&gt;
&lt;li&gt;rclone на основной машине с браузером. Так как мой домашний сервер не имеет графической оболочке и браузера, я буду использовать rclone на macOS для получения токена. Установить его на macOS можно через &lt;a href="https://blog.tatarinovms.space/brew/" class="external-link" target="_blank" rel="noopener"&gt;brew&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="установка-rclone-на-ubuntu"&gt;
 Установка rclone на Ubuntu
 &lt;a class="heading-link" href="#%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0-rclone-%d0%bd%d0%b0-ubuntu"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Затем:&lt;/p&gt;</description></item></channel></rss>