5 вирусных cron-скриптов, которые полностью изменили мой компьютер

Открытый crontab на ноутбуке с несколькими задачами cron

Про cron часто думают как о скучном автоматизаторе — создает бэкапы, подчищает логи, выносит мусор. Но, поверьте, он может гораздо больше! Стоит добавить каплю фантазии, и задачи cron превращают вашу систему не просто в набор скриптов, а в технологического напарника — будто компьютер оживает прямо на глазах.

Отслеживатель опечаток в командах

Ошибаются все — независимо от опыта. На практике эти опечатки мы забываем, а затем снова и снова повторяем их в терминале. Мой cron-скрипт решил проблему радикально: он анализирует историю команд, ловит неудачные вводы и каждую неделю присылает мне “доску позора” с самыми нелепыми ошибками.

Уже через несколько дней начнете замечать повторяющиеся косяки: путаете флаги, забываете имена файлов, ошибаетесь в названиях команд… Просмотреть свои баги оказывается полезнее, чем просто злиться на себя вслепую. А ещё это отличный повод сделать алиасы для команд-заклятых врагов.

Вся магия — в мелочи: bash хранит последнюю команду и её код завершения. Нужно лишь обратиться к shell и записывать неудачные попытки.

Создайте файл “log_failed_commands.sh”:

Добавьте его в .bashrc:

Статистику удобно просматривать вручную:

логи скрипта для опечаток в командах

Или пусть cron каждую неделю отправляет вам “доску позора” на почту:

Говорящий монитор сети

Графики и дашборды безусловно полезны, но что если cron вдруг начнёт сам оповещать вас голосом о новых устройствах в сети? Этот скрипт сканит локалку, сверяется с предыдущими результатами и, если появляется неизвестный IP, объявляет его через синтезатор речи. Я использую ip neigh, но вы легко сможете переключиться на arp или nmap.

Создайте “network_watch.sh”:

А затем настройте cron на запуск каждые 30 минут:

Пинг-понг для домашних контейнеров

Если у вас много контейнеров, вы знаете, как критична задержка в сети. Этот cron-скрипт регулярно “пингует” все доступные контейнеры, замеряет их скорость отклика и сортирует по результату. Благодаря такому мониторингу проблемы видны заранее, до того, как всё сломается.

Фишка проста: Docker знает IP всех своих контейнеров — остаётся только пройтись по ним и записать данные.

Создайте “container_latency.sh”:

Запускайте его каждый час:

Лог выглядит вот так:

Логи проверки скорости ответа контейнеров

Самопроверяющиеся резервные копии

На практике резервные копии, которые ни разу не проверялись, не стоят ничего. На надпись “резервирование завершено” полагаться не стоит. Мой cron-скрипт после каждого ночного бэкапа пробует восстановить случайный файл — чтобы убедиться, что копии реально рабочие.

Создайте “verify_backup.sh”:

Пусть он срабатывает сразу после основных резервных копий:

Вот как это выглядит в журнале:

Журнал проверки резервных копий

Напоминалка о GitHub streak’е

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


Подпишитесь на рассылку с креативными проектами для cron

Скрипт опрашивает GitHub API, ищет свежие события и сообщает, если за сутки не появилось новых коммитов.

Создайте “github_streak.sh”:

Поставьте запуск на вечернее время:

Вот мой журнал активности. Обычно стараюсь не халтурить, но как-то раз streak всё же прервался на праздниках:

Отчет скрипта для отслеживания цепочек на GitHub

Большинство идей из этой подборки можно и не воплощать, но каждая экономит ваше время, добавляет прозрачности работе системы или просто поднимает настроение. Чем больше рассматриваешь cron как поле для творчества, тем больше сам находишь новых рутинных задач, которые хочется автоматизировать — и получаешь по-настоящему заботливую систему.

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

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

Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в:

Алекс Бежбакин
Оцените автора
Добавить комментарий