Helcode | Хелкод | Скрипты и автоматизация
993 subscribers
52 photos
34 links
☎️ Контакты для связи: @helcodeadm
Download Telegram
Тайминги и блокировки: как избежать «снежного кома» в cron

🤔 Представьте: задача в cron -е запускается каждые 5 минут, но иногда выполняется 10. Что будет? Через час у вас будет 12 параллельных процессов, грузящих систему!

Это классическая проблема наложения задач.

Решения:

1. timeout: жестко ограничить время выполнения.
* * * * * timeout 300 /path/to/script.sh # Остановить через 5 минут

2. flock: поставить блокировку на файл, чтобы скрипт не запускался, если предыдущий экземпляр еще работает.
* * * * * /usr/bin/flock -n /tmp/myscript.lock /path/to/script.sh


Ключ -n означает «не ждать». Если скрипт уже работает — новый запуск просто проигнорируется. Идеально для защиты от дублирования!

🌐 @helcode | #linux #cron #automation #performance
3👎1🤔1