# Автоматизация без кода. Обзор технологий ## 1) Планировщик задач на ПК Предположим, нам нужно запускать *вкладку сообщений ВК при входе в Windows* * Запускаем **"Планировщик задач"** (можно просто найти его в поиске; или *Win+R*, затем ввести команду *taskschd.msc*) * справа нажимаем *"создать простую задачу"* * даем нашей задаче *название*, устанавливаем *триггер* (частоту выполнения - ежедневно, еженедельно, при входе в Windows, при запуске компьютера) * *действие* - из всего предложенного (запустить программу, отправить сообщение эл.почты/вывести сообщение) нам подходит только "запустить программу" * запуск программы Т.к. нам нужно открыть сайт, то в строку мы должны добавить *путь к браузеру*, а точнее на его *файл*. Для этого нужно его найти вручную, но легче написать команду, с помощью которой можно запускать наш браузер ![](https://i.imgur.com/mncfGY0.png) * запускаем **"Командную строку"** * Т.к. наш браузер (Хром) хранится в файле *chrome.exe*, то сперва поищем его. На что нам система ответила отказом - такого файла нет. ![](https://i.imgur.com/S41dlVX.png) * Поэтому, чтобы его найти, мы ищем *расположение файла* ![](https://i.imgur.com/zqkHPAn.png) * дописываем в расположение нашего файла его *название с разрешением chrome.exe* или выбираем из подсказок. Копируем весь адрес ![](https://i.imgur.com/RbNQJ2h.png) * Правой кн.мыши вставляем его в командную строку Все равно не открывается, тк в "Program Files" есть **пробел**. Если есть пробел, то мы должны указывать строку **в кавычках** ``` C:\Users\Екатерина>"C:\Program Files <x86>\Google\Chrome\Application\chrome.exe" ``` Теперь по этой команде открывается начальная страница браузера. Но нам нужно, чтобы открывался именно сайт ВК (а именно страница сообщений) * Дописываем в командную строку **ссылку на сайт через пробел после кавычек**. Теперь у нас по этой команде открывается сайт ВК ``` C:\Users\Екатерина>"C:\Program Files <x86>\Google\Chrome\Application\chrome.exe" http://vk.com ``` * Для открытия какой-то определенной станицы (например, страница с сообщениями) нужно просто *скопировать ссылку именно на эту страницу* ``` C:\Users\Екатерина>"C:\Program Files <x86>\Google\Chrome\Application\chrome.exe" http://vk.com/im ``` * Теперь для того, чтобы наша задача запускалась тогда, когда нам нужно, копируем все, что идет **после первых кавычек** и вставляем в строку планировщике задач Можно сделать все то же самое, но сокращенной командой: 1) копируем путь файла из папки ![](https://i.imgur.com/vXtJ3ku.png) 2) переходим в ту папку с файлом командой ***cd*** (change directory - перейти) Сначала набираем ``` C:\Users\Екатерина>cd ``` После ``` C:\Users\Екатерина>cd C:\Program Files (x86)\Google\Chrome\Application ``` Т.к. мы пишем с пробелом, нужно поставить кавычки (если с пробелом не работает). Но все сработало :) В итоге мы перешли в папку Хрома 3) Пишем chrome.exe и запускается браузер ``` C:\Program Files (x86)\Google\Chrome\Application>chrome.exe ``` В 1 случае мы запускали Хром из рабочей папки *C:\Users\Екатерина*, а во 2 - из папки, где непосредственно лежит программа. Во 2 случае мы используем **относительный путь** к нему, в 1 - **абсолютный** (полный путь). У относительных путей, помимо того, что они короче, есть еще 1 плюс: мы можем создать какой-то файл с расширение ***but***, который будет запускать наше приложение: * создаем папку (напр. *demo*) * создаем файл *demo*. Он изменяется через блокнот (пр.кн.м - изменить) * Вновь копируем путь к файлу со слэшэм и кавычками ``` "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ``` * вставляем его в файл и сохраняем Теперь, когда мы будем просто открывать этот файл, он будет делать все, что мы делали сами выше - запускать командную строку сам, вставлять команду и выполнять. > Чтобы он запускал программу медленнее, мы можем добавить в него PUASE на след.строку - теперь он немного притормозит перед тем, как закрыться, и мы увидим окно командной строки после того, как уже запустился Хром. Как только процесс отлажен, нужно PAUSE стереть (+ для нормальной работы xStarter) Перенесем файл Хрома в нашу папку demo с but-файлом. Теперь мы можем запустить Хром, изменив содержимое в файле на *chrome.exe*, т.к. файл Хром будет запускаться из нужной нам папки. В этом случае мы используем относительный, более короткий путь. ``` chrome.exe PAUSE ``` Пробуем запустить - не выходит. На самом же деле исходный файл Хрома находится на **уровень выше** (в папку demo мы его просто скопировали). Получается, что нам нужно запустить файл на уровень выше. Для этого мы меняем содержимое *but-файла* на ``` ..\chrome.exe PAUSE ``` Тогда при запуске файла мы будем заходить на папку вверх и там искать файл *chrome.exe*. **Если этот файл будет лежать в папке не на уровень выше, а ниже?** Тогда вместо точек *..* указываем название папки, в которой находится файл, а потом также остается название файла ``` Application\chrome.exe PAUSE ``` --- ## 2) xStarter * Скачиваем программу и запускаем * Создаем *новую задачу, даем название и настраиваем периодичность* ее выполнения, при каких условиях она должна выполняться (Run task) ![](https://i.imgur.com/8A0FhWZ.png) Вкладка "Расписание и информация". Здесь мы можем дать имя нашей только что созданной задаче, а также выбрать, каким образом запускать эту самую задачу на выполнение. И здесь есть несколько вариантов: * По времени * По событию * Комплексный формат ***По времени*** - просто выбираем время и дату, либо указываем интервал времени, через который будет запущена задача. Также можно сделать так, чтобы задача запускалась каждые X часов. Второй вариант - ***запуск по событию***. Тут сосредоточен весь самый "убойный" функционал программы. Нам доступно огромное количество вариантов ((запуске xStarter, нажатии горячих клавиш, наличии изменений файлов в заданных директориях, открытии/активировании/закрытии окна Windows, запуске/остановке определенного процесса и пр.) **Комплексный формат** предлагает нам все тоже самое, что было в первом пункте, с той лишь разницей, что можно выбрать не только время, но и определенный день недели и месяц (только в этот день недели, месяц и время - будет выполняться задача). * Нажимаем *Action* и устанавливаем необходимое **действие** ![](https://i.imgur.com/tlqfAVC.png) Типы задач: * запуск/закрытие приложений * запуск и остановка сервисов, * выключение компьютера * выполнение файловых операций (копирование, удаление, и т.д.), * синхронизация каталогов, * архивация данных, * запись и воспроизведение макросов, * скачивание/отправка файлов по протоколам FTP и HTTP, * отображение сообщений на экране компьютера, * установка соединения с Интернетом Полезная ссылка как выполнять разного рода задачи https://automate-my-tasks.com/ru/viewforum.php?f=6&sid=74ec2fc8ba706356592153130155e3c2 --- ## 3) Веб-сервис [IFTTT](https://ifttt.com/) Здесь больше идет акцент *не на наш компьютер*, а на используемые нами ***сервисы*** * Вход (Sign in) * Далее мы видим список готовых возможных задач. Возьмем для примера такую задачу ![](https://i.imgur.com/zUankQg.png) * Нажимаем "Подключить" --- * Если мы хотим создать **свою задачу**, заходим в создание нового апплета ![](https://i.imgur.com/bKAs2kJ.png) ![](https://i.imgur.com/V49zK2h.png) * Настариваем ***условия*** апплета (на примере) 1. ***IF*** - если пришли новые письма на мою почту 2. ***WITH*** - ограничения, например, письма с определенной темой 3. ***WHEN*** - настройка времени и периодичности 4. ***THEN*** - ставим действие, например, чтобы файл из почты загружался на гугл диск ![](https://i.imgur.com/kstqNw2.png) ![](https://i.imgur.com/0xvDtfu.png) * Настраиваем наши *уведомления* - от кого и т.д. (Add Ingredient) ![](https://i.imgur.com/ZhMWcE7.png) * Можем **добавить еще действия**, *назвать* апплет, добавить его *описание* и сохраняем. Созданный нами апплет можем увидеть в той же вкладке Апплеты ![](https://i.imgur.com/trERYiE.png) * Нажав на наш апплет можно увидеть *принцип его работы* - если пришло письмо, оно сохраняется на гугл диск ![](https://i.imgur.com/svbhPdQ.png) Можно сделать множество настроек: отправку почты, уведомления, анализ конкурентов, напоминания,отслеживание новостей --- ## 4) Веб-сервис [Microsoft Flow](https://flow.microsoft.com/ru-ru/) (или Power Automate) ПЛАТНЫЙ Здесь намного больше настроек, чем в xStarter. Состоит из **триггеров** (события, при наступлении которых начнется выполнение процесса) и **блоков действий** (цепочек последовательных действий) Примеры. Можно * обрабатывать почту * поставить таймер * записывать данные в базу данных * перетаскивать файлы с одного сервера на другой * отправить письмо на этот сайт с вложенным файлом и этот файл сам выложится на сервер и еще множество действий: ![](https://i.imgur.com/pTBRCWX.png) * Нажимаем слева "Создать". Здесь мы можем создавать потоки последовательных действи. Есть **облачные** потоки, которые выполняются В расписании в облаке, а есть **относительные (классические)** потоки, которые выполняются на нашем компьютере. * Выбираем шаблон потока (либо создаем свой) * Авторизуемся в необходимых учетных записях и создаем поток * Далее в окне со всеми созданными потоками нажимаем на поток - заходим в его редактирование * Устанавливаем необходимые параметры, шаги, услоавия выполнения действий * Сохраняем --- # [Zapier](https://zapier.com/app/dashboard) Онлайн-сервис для автоматизации После входа нужно выбрать роль, указать кол-во человек в команде и выбрать приложения, которые мы хотим использовать. Например, мы хотим, чтобы по приходу нового письма на почту автоматически создавалась карточка задачи в Trello и заполнялась гугл-таблица. Сервис сразу нам сам предложил этот вариант ![](https://i.imgur.com/Vw1PVCJ.png) Настраиваем параметры С мая 2019г список связанных программ очень ограничен: https://zapier.com/help/doc/common-problems-with-gmail#common-problems-gmail ## Другие альтернативы Zapier **1) Automate.io** - одна из лучших альтернатив Zapier, можно создавать условные рабочие процессы, что означает, что можно интегрировать несколько веб-приложений и связать их с подходящей потоковой диаграммой. **2) n8n.io** - бесплатный и открытый инструмент автоматизации рабочего процесса, который хорошо работает с популярными веб-приложениями и службами. Говоря о рабочем процессе, в отличие от других альтернатив Zapier с открытым исходным кодом, n8n предлагает цельный и визуальный редактор для создания рабочего процесса, который в основном называется узлом в этом инструменте. **3) тTray.io** - это не обычный сервис интеграции, а полноценный веб-крючок и платформа автоматизации для крупных предприятий и растущих стартапов. В каждом аспекте он стоит на голову выше Zapier и предлагает множество удобных функций, которыми Zapier пользуется популярностью. Он использует редактор перетаскивания для визуального создания бесшовного рабочего процесса. **4) Zoho Flow** – позволяет интегрировать ваши приложения и создавать сценарии рабочих процессов в визуальном редакторе. Вы можете создать блок-схему действий, легко редактировать их с помощью условных триггеров и запустить рабочий процесс всего несколькими щелчками мыши. Вы можете получать электронные письма, файлы, отчеты от одного сервиса к другому всего за несколько секунд. Предлагает огромный выбор готовых рабочих процессов, которые вы можете начать в кратчайшие сроки. Просто выберите шаблон и авторизуйте интеграцию **5) Апиант**. Поддерживает более 15000 различных приложений, что может быть перегружено для некоторых пользователей, но также можно начать с собственных небольших автоматизированных систем, а затем взять их оттуда. Можно создавать триггеры и действия и пр. **6) Workato** – имеет высокую стоимость подписки и в первую очередь предназначен для корпораций и крупных предприятий. Как и в Zapier, Workato поддерживает рабочие процессы с несколькими экземплярами, которые называются Recipe. Вы можете создать свой собственный рецепт или выбрать из более чем 225 000 готовых рецептов из своей библиотеки. Основная цель Workato – сделать автоматизацию более простой и удобной для всех отделов, независимо от того, являетесь ли вы специалистами по учетным записям или ИТ. **7) PieSync** фокусируется на синхронизации данных между приложениями в обоих направлениях. PieSync позволяет не только сосредоточиться на том, чем это, но и на том, что ваши приложения могут общаться друг с другом, синхронизируя данные между ними в режиме реального времени. Это лучше всего подходит для бизнеса, в котором команда работает удаленно. Вся их работа будет синхронизироваться между приложениями, предоставляя всем доступ к данным мгновенно. Он также достаточно умен, чтобы находить и управлять дублирующимися точками данных и удалять их. --- ## FTP В адресной строке почти всегда пишется *http* или *https* > **http** - HyperText Transfer Protocol - протокол передачи гипертекста **https** - HyperText Transfer Protocol Secure - расширение протокола HTTP для поддержки шифрования в целях повышения безопасности **FTP** - протокол для передачи файлов по сети Самое частое его использование - передача **файлов** для сайтов. Для примера возьмем сайт http://pravoslavienavolge.ru/. Он сделан на WP и состоит из набора файлов. Чтобы перенести сайт с одного сервера на другой, нам нужно взять все его *файлы*, передать их: * либо сразу со старого сервера на новый * либо сначала со старого сервера на компьютер, и уже с компьютера на новый сервер, т.к. чаще всего сервера не связаны между собой Если нам нужно передавать *ФАЙЛЫ*,то делать мы это будем через протокол *FTP*. Чтобы подключиться по FTP нужен *FTP-клиент (программа)*. Через *HTTP* работают *браузеры*, а для FTP нужна, например **FileZilla** Через эту программу мы можем переносить файлы с компьютера на сервер (в интерфейсе слева - наш компьютер, справа - сервер) и также в обратном порядке (перетягиваем справа налево). ![](https://i.imgur.com/15Es7hV.png) Чтобы увидеть все файлы сервера, нужно добавить путь к папке ftp в поле "Хост" ![](https://i.imgur.com/eWyqEpb.png) И нажать Enter, после чего мы увидим как вставленная нами ссылка сама разобьется на части в соответствующие поля ![](https://i.imgur.com/3xgtOA2.png) Часто задачи по автоматизации связаны с FTP. Например, сайт взломали и некоторые данные удалились. Каким образом мы можем его восстановить? Мы можем периодически **скачивать все файлы сайта** и сохранять на компьютере, на яндекс.диске и т.п. Если сайт взламывают или что-то с ним происходит, мы запускаем эту программу, **удаляем** все файлы с сервера, после этого **закачиваем когда-то сохраненную правильную копию сайта** и сайт вновь будет работать. **НО!** здесь есть один нюанс Например, мы выгрузили последнюю копию сайта, например, 1 числа, и после вносили какие-либо изменения. Сайт ломается, к примеру, 7 числа, мы удаляем все файлы с сервера, загружаем нашу последнюю сохраненную копию. И получается, что все внесенные изменения после 1 числа удалились. Поэтому на сайтах обычно настраивают **бэкапы (backup) - резервные копии**. Их все настраивают по-разному. ***Один из вариантов:*** раз в день/полдня выкачивать все файлы с сервера себе в компьютер в отдельную папку. Например, адрес сервера: ftp://dev.buketsaritse.ru:kz58ALtux@5.188.28.241/ Это можно сделать через *xStarter*: *1) скачиваем файлы с сервера* ![](https://i.imgur.com/ubjo5GO.png) * Ftp folder - ставим слэш * local folder - папку, куда мы хотим, чтобы скачивались файлы * Ftp host - цифры после @ (5.188.28.241) * Username - dev.buketsaritse.ru * Port - его нам покажет FileZilla во всплывающем окне, порт нужно запомнить, для этого случая 21 * Password - kz58ALtux Другие поля неизменны *2) делаем бэкап.* Заходим "Архивы" -> "Бэкап". Вставляем папку, куда будет выкачиваться наш сайт и делаем *архив* ![](https://i.imgur.com/dwhYpLI.png) * Add folder - вставляем ту же папку, что и в 1 пункте, куда будут выкачиваться файлы * Backup folder - создаем новую папку и вставляем 3) можно настроить *автоматическое удаление старых ненужных копий* ![](https://i.imgur.com/DrdPmvY.png) 4) для оповещения о результатах можно настроить *отправку уведомлений о результатах выполнения задачи*. Для того, чтобы узнать какие именно настройки вписывать в наше действие: * вбиваем в гугле общий запрос **"настройки почтовой программы яндекс"** (если отправляем через другую почту, то, соответственно, пишем ее). * Открываем 1 ссылку * "другие программы" > **IMAP / POP3** - для входящей почты (чтобы нам приходили уведомления). В xStarter это **CheckMail** > **smtp** - сервер - для исходящией почты (мы отправляем). В xStarter это **SendMail** Для нашего случая выбираем настройки smtp протокола на https://yandex.ru/support/mail/mail-clients/others.html ![](https://i.imgur.com/FlulwVm.png) и находим в xStarter команду SendMail ![](https://i.imgur.com/UvOvuy2.png) * Adress - почтовый адрес, на который будут приходить уведомления * Mail host - берем с настроек smtp * Port - берем с настроек smtp * User name - читаем как правильно по той же ссылке ![](https://i.imgur.com/H30XSfN.png) В нашем случае мы можем скопировать сюда полный адрес почты, что и для поля Adress * Password - то же самое, что и для выкачки файлов с сервера (см п1 настройки) - kz58ALtux ## Настройка правил почты Чтобы отсортировать все приходящие письма, нужно настроить **правила**. Создадим правило для писем от Яндекс.Календаря. * Заходим в письмо. **Создать правило** ![](https://i.imgur.com/QSYh5r4.png) * Настраиваем условия и пр. Не забываем нажать на **"Применить к существующим письмам"** (если такие есть) ![](https://i.imgur.com/Ftz5CPG.png) * Затем нам показывается окно, где есть все нами созданные правила. Переходим снова в почту и видим, что писем от календаря больше нет - они собраны в одну папку. Также можно создать правило *вручную* с 0. Для этого: * Шестеренка -> Правила обработки писем ![](https://i.imgur.com/1yFxb7I.png) * Настраиваем параметры **Источники:** 1) https://ifttt.com/home 2) https://flow.microsoft.com/ru-ru/ 3) https://zapier.com/app/dashboard 4) https://okdk.ru/top-10-alternativ-zapier-dlya-avtomatizacii-vashej-raboty-2020/ 5) http://pc-information-guide.ru/programs/planirovshhik-zadach-xstarter-avtomatizaciya-dejstvij-na-kompyutere.html