====== Сценарии использования Cron ======
- Ограничение времени выполнения:* * * * * timeout 300 /path/to/script.sh # Остановить через 5 минут
- Блокировка через ''flock'':* * * * * /usr/bin/flock -n /tmp/myscript.lock /path/to/script.shгде ''-n'' - не ждать, если скрипт уже работает (''-w 10'' - ждать 10 секунд, если требуется)
- Перенаправление вывода:
* ''>> file.log 2>&1'' - stdout + stderr в один файл
* ''>> file.log 2>> error.log'' - раздельные логи
- Логирование с ротацией:0 0 * * * /path/to/script.sh >> "/var/log/script_$(date +\%Y\%m\%d).log" 2>&1
- Каскадные задачи с задержкой и проверкой статуса:# Основная задача в 2:00
0 2 * * * /path/to/first_task.sh && touch /tmp/first_success
# Вторая задача через 15 минут, только если первая успешна
15 2 * * * [ -f /tmp/first_success ] && /path/to/second_task.sh && rm /tmp/first_success
- Запуск только при низкой загрузке CPU:0 22 * * * [ $(awk '{print 100-$NF}' /proc/loadavg | cut -d. -f1) -lt 30 ] && /path/to/backup.sh
- Пропуск запуска, если процесс уже выполняется:*/5 * * * * [ $(pgrep -c -f "script.sh") -eq 0 ] && /path/to/script.sh
- Ротация логов:0 3 1 * * find /var/log/app/ -name "*.log" -mtime +30 -exec gzip {} \;