Pull to refresh

Кукушка на bash своими руками

Reading time 4 min
Views 24K
Configuring Linux *
Sandbox
Привет, %username%.

Для организации моей работы удобно видеть или слышать уведомления о том, что прошел час, полчаса и т.д. Это нужно мне для ориентации во временном пространстве и правильного планирования своей работы.
Поскольку у меня стоит Ubuntu, то и статья будет про то, как сделать такие уведомления стандартными средствами Ubuntu.

Читать дальше →
Total votes 47: ↑40 and ↓7 +33
Comments 44

Фоновое выполнение скрипта на PHP без crontab

Reading time 4 min
Views 82K
Website development *
Озадачили меня тут написать демона на PHP. Т.е. скрипт, который будет заданное количество раз в заданное количество часов в случайное время (всегда случайное) выполнять определенные действия, и все это без использования cron'a.

До этого никогда не заморачивался, а тут после постановки задачи, начал было думать что так нельзя, что php скрипт надо вызывать браузером…ну задача то поставлена, надо выполнять.

Первая мысль — отключить ограничение времени выполнения скрипта. Запрещено хостером.

Вторая мысль — яваскриптом повторять аякс-запрос периодически (да хоть раз в секунду). — нельзя (требование заказчика).

Выяснилось, собственно, что и браузер открыт не должен быть, и крон нельзя использовать, и работать скрипт должен независимо от пользователя, бесконечно долго. Естественно, он должен минимум грузить систему.
Читать дальше →
Total votes 86: ↑39 and ↓47 -8
Comments 43

Простой способ автоматического создания бекапа joomla сайтов с помощью Akeeba backup + Crontab

Reading time 3 min
Views 26K
Joomla *
Sandbox
Всем привет.
Хочу описать процесс полностью автоматического создания резервных копий сайтов на CMS Joomla с помощью компонента Akeeba backup, причем его бесплатной версии.
Знаю, что джумлу на хабре не особо жалуют, но думаю все же найдутся хабровчане, которые создают сайты с её помощью.
Читать дальше →
Total votes 4: ↑3 and ↓1 +2
Comments 13

Говорящий пингвин

Reading time 5 min
Views 14K
Ruby *
Sandbox
На бескрайних просторах интернета немало статей про умные дома, очки дополненной реальности, новомодный «интернет вещей» и другие преспективы вообразимого будущего. Будет ли оно светлым или в «добрых» традициях нуарного киберпанка, время покажет, а пока мы сделаем маленький шаг навстречу ему.
Сделать шаг
Total votes 14: ↑12 and ↓2 +10
Comments 15

Как я запустил свой первый SaaS-проект работая по найму целый день

Reading time 7 min
Views 12K
SaaS / S+S *IT-companies
Recovery mode
Sandbox
Привет, Хабр! Представляю вашему вниманию перевод статьи How I Shipped My First SaaS Side Project While Working Full Time Тиграна Хакобяна, который работая в известном сервисе отложенного постинга Buffer смог запустить свой проект и даже его монетизировать.


Запустить SaaS-сервис
Total votes 45: ↑38 and ↓7 +31
Comments 4

Запуск Bash в деталях

Reading time 3 min
Views 30K
Configuring Linux *Shells *Software
Tutorial
Translation
Если вы нашли эту страницу в поиске, то наверняка пытаетесь решить какую-то проблему с запуском bash.

Возможно, в вашем окружении bash не устанавливается переменная среды и вы не понимаете, почему. Возможно, вы засунули что-то в различные загрузочные файлы bash или в профили, или во все файлы наугад, пока это не сработало.

В любом случае, смысл этой заметки — как можно проще изложить процедуру запуска bash, чтобы вы могли справиться с проблемами.

Диаграмма


Эта блок-схема обобщает все процессы при запуске bash.



Теперь подробнее рассмотрим каждую часть.
Читать дальше →
Total votes 35: ↑29 and ↓6 +23
Comments 5

Cron в Linux: история, использование и устройство

Reading time 13 min
Views 77K
Badoo corporate blog Configuring Linux *System administration *Programming **nix *

Классик писал, что счастливые часов не наблюдают. В те дикие времена ещё не было ни программистов, ни Unix, но в наши дни программисты знают твёрдо: вместо них за временем проследит cron.


Утилиты командной строки для меня одновременно слабость и рутина. sed, awk, wc, cut и другие старые программы запускаются скриптами на наших серверах ежедневно. Многие из них оформлены в виде задач для cron, планировщика родом из 70-х.


Я долго пользовался cron поверхностно, не вникая в детали, но однажды, столкнувшись с ошибкой при запуске скрипта, решил разобраться основательно. Так появилась эта статья, при написании которой я ознакомился с POSIX crontab, основными вариантами cron в популярных дистрибутивах Linux и устройством некоторых из них.


Используете Linux и запускаете задачи в cron? Вам интересна архитектура системных приложений в Unix? Тогда нам по пути!

Читать дальше →
Total votes 79: ↑76 and ↓3 +73
Comments 66

Бот в telegram, который следит за доменом

Reading time 4 min
Views 15K
PHP *Programming *
Привет жителям Хабра.

В процессе изучения PHP, пришла в голову мысль, для практики написать какого-нибудь бота на PHP, без использования фрэймворков.

Выбор пал на бота, который будет получать информацию о жизни домена (whois), затем доставать оттуда дату регистрации и добавлять этот домен в БД (mysql), с последующий привязкой к пользователю и уведомлением в telegram.

Исходный код в моем репозитории на гите.

Мне захотелось использовать MVC структуру, что оказалось на мой взгляд не совсем верным, так как view не был задействован и это уже нельзя назвать mvc, но да ладно…
Читать дальше →
Total votes 21: ↑19 and ↓2 +17
Comments 26

Как запускать cron чаще, чем раз в минуту при помощи PHP

Reading time 4 min
Views 10K
PHP *MySQL *Development for Linux *
Sandbox
Классический конфиг — файл с записями cron jobs в операционной системе Linux, выглядит следующим образом:

# ┌───────────── минуты (0 - 59)
# │ ┌───────────── часы (0 - 23)
# │ │ ┌───────────── день (1 - 31)
# │ │ │ ┌───────────── месяц (1 - 12)
# │ │ │ │ ┌───────────── день недели (0 - 6)
# │ │ │ │ │
# * * * * * <задача или команда>

Первые пять параметров означают время выполнения этой задачи, а шестой — сама команда, которую необходимо запустить. Параметры времени — это: минуты, часы, дни, месяцы и день недели. Причем все числа должны быть представлены в виде целых чисел либо в виде специального синтаксиса.

В итоге, минимально возможный интервал запуска команды — это один раз в минуту.

Для многих задач выполнение команды нужно намного чаще, например раз в 10 секунд. Для некоторых задач по автоматизации бизнес процессов максимально допустимая задержка часто составляет не более чем 1-1.5 секунды.

Разумеется, классический cron для этого не подходит — его нужно усовершенствовать.

Ниже представлена пошаговая реализация по созданию дополнительного функционала (на языке PHP) к классическому cron на Linux с применением дополнительной защиты от повторного запуска процессов.
Читать дальше →
Total votes 28: ↑4 and ↓24 -20
Comments 25

Отложенные задачи в рамках микро-сервисной архитектуры

Reading time 9 min
Views 13K
Open source *Symfony *Go *Microservices *Kubernetes *
Sandbox

Часто в проектах возникает необходимость выполнения отложенных задач, таких как отправка email, push и других специфических задач, свойственных доменной области вашего приложения. Сложности начинаются, когда обычного crontab уже не достаточно, когда пакетная обработка не подходит и когда у каждой единицы задачи свое время выполнения или оно назначается динамически.

Для решения такой задачи было создано очередное решение под названием Trigger Hook. Принципиальная схема работы показана на рисунке 1. На схеме показано, что происходит с заданиями в течения всего их жизненного цикла. Смена цвета означает смену статуса задачи.

Читать далее
Total votes 27: ↑25 and ↓2 +23
Comments 17

Гайд по git stash, разбиваем диск под Linux с GNU Parted, шпаргалка по SQLite и полезное руководство по графикам

Reading time 2 min
Views 2.7K
Red Hat corporate blog Open source *Virtualization *Cloud computing *Studying in IT

Новая порция инсайтов, мероприятий, книжек и шпаргалок. Оставайтесь с нами – станьте частью DevNation!

Читать дальше: Гайд по git stash...
Total votes 4: ↑1 and ↓3 -2
Comments 2

Парсинг Instagram в промышленных масштабах

Reading time 28 min
Views 30K
Python *Data Mining *NoSQL *Database Administration *Cloud services *

В декабре 2020 года, завершив работать в научном институте, я увлёкся задачей добычи данных из соцсетей, в частности из Инстаграма. Прежде я работал только с готовыми данными, поэтому мне всегда было интересно, как эти данные можно добывать. За несколько дней до Нового Года я написал достаточно базовую статью про то как парсить Инст. В первых числах января мне написал заказчик и попросил сделать для него масштабный парсер инстаграма, который был бы способен делать более 10.000 запросов в сутки.

С тех пор прошло уже больше полугода, за которые я набил всевозможные шишки в данной области и написал промышленный парсер, который способен делать сотни тысяч, если не миллионы запросов в сутки.

В рамках данной статьи я хочу рассказать про путь развития своего Pet-Project в потенциально мощный и серьёзный инструмент. Впереди вас ждёт увлекательное путешествие от хранения данных в простых Json-ах на жестком диске сервера, до облачной базы данных и автоматической инициализации cron расписания запуска процессов внутри докер контейнера, поехали!

Поехали!
Total votes 23: ↑18 and ↓5 +13
Comments 13

Код на python, сервер и Cron. Запускаем код на сервере по времени

Level of difficulty Easy
Reading time 3 min
Views 7.6K
Configuring Linux *Python *DevOps *Microservices *

Введение

У меня была задача «Собирать статистику постов в vk каждый час». Я не являюсь разработчиком или DevOps специалистом. Поэтому мой способ решения задачи сложился из поисковых запросов, личного опыта, советов друзей и коллег.

Решение я разбил на 2 части.

Читать далее
Total votes 13: ↑6 and ↓7 -1
Comments 35