Я унаследовал растягивающий crontab, который мне нужно поддерживать и обновлять. У меня нет большого опыта работы с ним или bash сценариев (я думаю, что у меня есть приличное сцепление с основами), и я хочу сделать хорошую работу. Краткий запрос: любые рекомендации по "рефакторингу" беспорядочного crontab и набора сценариев bash
Длительный запрос: я столкнулся с рядом проблем, но так много людей используют файлы cron и т.д., что я чувствую, что мне не хватает большого хранилища информации, лучших практик и инструментов - или это просто стилистика разница для такого рода программирования? (Мое смещение: зачем делать что-то вручную, если я могу использовать инструмент, чтобы сделать это быстрее, последовательно и хорошо?).
Примеры проблем до сих пор:
-
Из-за внешнего события, crontab не работал в течение нескольких дней. Вместе с кем-то другим мы вручную просмотрели список, пытаясь выяснить, что не запускалось, что нам нужно было повторить, и какие скрипты нам нужно было редактировать и запускать с более ранними датами и т.д. Что я не могу найти:
- В Интернете есть много (немного бессмысленных) "генераторов cron". Где обратное? Что-то, что я могу накормить в длинном crontab, двух датах и вывести его, какие процессы должны выполняться, когда, или сколько всего раз? Это похоже на мои скудные возможности сценариев, так что разве это уже не должно существовать?;)
- В качестве альтернативы, если мне когда-либо понадобится сделать это снова, есть ли способ вызвать bashscript, чтобы все экземпляры date() были предварительно настроены на более раннее время, вместо того, чтобы изменять каждый вызов даты в script? (например, для всех пропущенных отчетов и счетов фактурирования).
-
Оказывается, конкретный отчет не работал в течение двух лет. Его снова попросили, и вот, это было в кронтабе! bash script просто сломал ссылки на ссылки на соответствующие файлы. Что я не могу найти: какой-то контроль пути для файлов bash? Как средство проверки ссылок на сайт. Да, я в конце концов все это проведу вручную, но это покажет некоторые по крайней мере некоторые проблемные области.
-
Звучит несколько раз, либо слишком длинный, либо короткий промежуток между зависимыми процессами, поэтому обновления произошли после того, как первый был запущен или первый не завершил работу до того, как второй был называется. Я видел несколько возможных вариантов для этого (например, anacron работает в последовательном порядке), но что бы вы порекомендовали?
-
Существует также большое количество практически бессмысленных писем, созданных из crontab (скрипты бросают ошибки, но работают "правильно", в основном не работают, или просто печатают бесконечные сценарии несущественных). Я буду вручную просматривать сценарии и пытаться заставить их предоставлять более полезные данные или "преуспеть спокойно", но вы знаете - какие-либо рекомендации?
Если мое понимание или макет проблемы путают, то я извиняюсь, но эй... ты видишь мою проблему! Мне нужно идти от новичка, зная, что делать, чтобы понять это правильно, и не втягивать в себя более суровую систему. Спасибо!